处理NUnit中的任何错误

时间:2012-09-22 08:15:02

标签: c# .net unit-testing junit nunit

我有一个标准的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找不到类似内容。它存在吗?或者有办法吗?

1 个答案:

答案 0 :(得分:3)

听起来你可能想要EventListeners

  

EventListeners能够响应测试运行过程中发生的事件,通常是通过记录某种信息。请注意,EventListeners在测试执行方面是异步调用的,并且不能影响测试的实际执行。

听起来你会对这种方法感兴趣:

void TestFinished(TestResult result);

(顺便说一句,对我来说这似乎很奇怪,这不会使用普通的.NET事件在抽象类中提供无操作接口实现,但我们去... )