我搜索单元测试工具,我发现合适的一个是NUnit,我认为它很好,但我的问题是这个工具只显示测试方法结果(通过或失败),我需要显示不仅通过或失败输出.如何使用NUnit显示输出或是否还有其他单元测试工具?如果不支持,请建议我如何解决它.
欢迎所有想法
管道 System.Console 的输出将适用于 NUnit,但这不是您的最佳选择。
对于通过测试,您不需要查看控制台输出来验证测试是否已通过。如果你是,你做错了。测试应该是自动化和可重复的,无需人工干预。手动验证不会扩展并产生误报。
另一方面,为失败的测试提供控制台输出是有帮助的,但它只会提供可以通过附加调试器推断出的信息。将控制台日志记录添加到您的应用程序需要付出很多额外的努力,但收益甚微。
相反,请确保您的错误消息是有意义的。在编写测试时,请确保您的断言是明确的。始终尝试使用与您正在断言的对象非常吻合的断言,并提供一个失败消息,解释为什么测试很重要。
例如:
// very bad
Assert.IsTrue( collection.Count == 23 );
Run Code Online (Sandbox Code Playgroud)
当测试失败时,上述断言并没有真正提供太多帮助。当 NUnit 格式化断言的输出时,这个断言不会帮助你,因为它会声明类似“期待 <True> 但为 <False> ”。
更合适的断言将提供更有意义的测试失败。
// much better
Assert.AreEqual(23, collection.Count,
"There should be a minimum of 23 items by default.");
Run Code Online (Sandbox Code Playgroud)
这提供了更有意义的失败消息:“预期 <23> 但为 <0>:默认情况下应至少有 23 个项目。 ”
| 归档时间: |
|
| 查看次数: |
15099 次 |
| 最近记录: |