我有一个标准的NUnit单元测试。
[TestFixture]
public class MyTest
{
[SetUp]
public virtual void Setup()
{
}
[TearDown]
public void CleanUp()
{
}
[Test]
public void Test01()
{
Assert.AreEqual(10, 10);
}
[Test]
public void Test02()
{
Assert.AreEqual(4, 1);
}
[Test]
public void Test03()
{
Assert.AreEqual(1, 51);
}
//......a huge amount of Tests
[Test]
public void TestN()
{
Assert.AreEqual(1, 1);
}
}
如你所见,这里有很多测试。我需要做的是处理每个测试中的任何错误,并获取有关错误的信息,而不用修改测试方法的主体。
因此在JUnit
中有一个名为TestListener
的接口,它允许处理任何测试错误,请参阅错误消息,查看测试名称等。
我在NUnit
找不到类似内容。它存在吗?或者有办法吗?
答案 0 :(得分:3)
听起来你可能想要EventListeners:
EventListeners能够响应测试运行过程中发生的事件,通常是通过记录某种信息。请注意,EventListeners在测试执行方面是异步调用的,并且不能影响测试的实际执行。
听起来你会对这种方法感兴趣:
void TestFinished(TestResult result);
(顺便说一句,对我来说这似乎很奇怪,这不会使用普通的.NET事件或在抽象类中提供无操作接口实现,但我们去... )