ygo*_*goe 0 .net c# unit-testing
我发现Assert
课程方法相当混乱而不是有用.我觉得特别恼人的是微软的MSTest方法期望(或要求?)我向后写比较,i.即 首先是常量/期望值,第二个是变量/实际值.这与自然语言相矛盾,因此与代码中的一般比较的许多编程指南相矛盾.
所以不是这样的:
Assert.AreEqual(5, value, "Value is not correct.");
Run Code Online (Sandbox Code Playgroud)
这有什么问题,看起来更通常的测试指令:
if (value != 5) Assert.Fail("Value is not correct.");
Run Code Online (Sandbox Code Playgroud)
这就是所有代码的样子.这是每个程序员的眼睛训练,以便快速看到和理解.其他断言方法可以很容易地用常规代码编写.
使用C#6,using static
你甚至可以放弃这Assert.
部分.
我在网上和Assert类文档中找不到任何关于此的理由.
在Assert.AreEqual(5, value, "Value is not correct.");
您收到的消息中将包含类似的内容
预计5,取而代之的是3
在if (value != 5) Assert.Fail("Value is not correct.");
消息中将是
价值不正确.
由于没有导致断言失败的价值,女巫的信息量会少得多.