我有一个单元测试,如下所示:
[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
。