다음과 같은 단위 테스트가 있습니다.
[Test]
public void Should_create_person()
{
Assert.DoesNotThrow(() => new Person(Guid.NewGuid(), new DateTime(1972, 01, 01));
}
Person 객체가 여기에 생성되었다고 주장합니다. 즉 유효성 검사가 실패하지 않습니다. 예를 들어, Guid가 null이거나 생년월일이 01/01/1900 이전 인 경우 유효성 검사가 실패하고 예외가 발생합니다 (테스트가 실패 함을 의미 함).
생성자는 다음과 같습니다.
public Person(Id id, DateTime dateOfBirth) :
base(id)
{
if (dateOfBirth == null)
throw new ArgumentNullException("Date of Birth");
elseif (dateOfBith < new DateTime(1900,01,01)
throw new ArgumentException("Date of Birth");
DateOfBirth = dateOfBirth;
}
이것은 테스트에 좋은 아이디어입니까?
참고 : 도메인 모델을 테스트하는 고전주의 접근법을 따르고 있습니다.
Should_create_person
? 사람을 어떻게 만들어야합니까? 와 같이 의미있는 이름을 지정하십시오 Creating_person_with_valid_data_succeeds
.