据我所知,使用Console.WriteLine(...)会在“Console.Out”标签中显示消息。我的问题是其他标签是什么以及如何将消息记录给他们?
[编辑]
我道歉,因为我意识到我原来的问题不够明确。我打算做的是在执行所有单元测试用例后创建一个扩展的结果报告。所以我正在探索在运行测试时可以记录的各种消息的方式。我期待着创建一个结果报告,如:
==== TEST1 starts ==== Start Time: 2009-03-26 11:15:13 AM Checking operation 1....OK Checking value of variable "X": 52.56....OK End Time: 2009-03-26 11:15:19 AM Time taken to execute test: 0.00:00:06.000 ==== TEST2 starts ==== . .
有任何建议我如何实现这一目标?
答案 0 :(得分:2)
选项卡的设置位于NUnit选项中 - 请参阅docs here。
例如,如果您选中显示控制台错误输出,那么该选项卡将显示您的测试写入Console.Error的文本。
答案 1 :(得分:1)
样品:
Assert.AreNotEqual(0, result.Count);
[exec]
[exec] Tests run: 11, Failures: 1, Not run: 0, Time: 50.422 seconds
[exec]
[exec] Failures:
[exec] 1) Domain.UnitTest.ManagerTest.TestEmbeddedIndex
: Expected: not 0
[exec] But was: 0
[exec]
这是你要找的吗?
断言非常广泛。在其中一个条件失败后,Nunit会抛出一个错误。
Assert.AreEqual(),Assert.AreSame(), Assert.Contains(),Assert.Fail();
此外,Nunit还有类似
的内容[ExpectedException]
深入了解documentation了解详情..
基于修改更新:
如果我是你,我会将其作为构建机制的一部分。
我不会做这样的事情......
<target name="setup" description="Initializes test properties">
<echo message="Sucessfully initialized tests" />
</target>
在[Test]
之后显示控制台消息是一个坏主意恕我直言。当你运行1000个测试时,它会延迟测试。测试意味着非常快。
答案 2 :(得分:0)
这是现有功能。 运行测试并生成NUnit报告。您登录测试的所有断言失败将在报告中显示。