我正在尝试使用命名模板跟踪Roy Osherove's UnitTests naming convention:[MethodName_StateUnderTest_ExpectedBehavior]。
遵循这种模式。你如何命名一个调用构造函数的测试?
[Test]
public void ????()
{
var product = new Product();
Assert.That(product, Is.Not.Null);
}
答案 0 :(得分:12)
Constructor_WithoutArguments_Succeeds
答案 1 :(得分:7)
我不知道你怎么称呼这个单元测试,但我强烈建议你不要写它,因为地球上什么都没有让断言失败。如果构造函数成功,CLR会保证一个不为null的新实例。
现在,如果对象的构造函数在某些情况下抛出异常,您可以这样命名:
[TestMethod]
[ExpectedException(typeof(ArgumentNullException))]
public void Product_Constructor_ShouldThrowIfNullArgumentSupplied()
{
new Product(null);
}
您正在测试的代码有两种可能的情况:
无需测试第一个。