从 Nunit 获取失败测试列表 [英] Get list of failing tests from Nunit

查看:57
本文介绍了从 Nunit 获取失败测试列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个包含 8000 多个测试的测试套件,并且很难看到哪些测试在代码更改之间中断(这些测试用例是从某些日志文件中自动提取的查询).

I have a testsuite with over 8000 tests and it's getting really hard seeing which tests broke between code changes (these test cases are queries that were automatically extracted from some log files).

是否有一种简单的方法可以获取 NUnit 运行的失败测试列表?理想情况下,我想比较哪些测试在运行之间受到影响.

Is there a simple way to get the list of failing tests for a NUnit run? Ideally, I'd like to compare which tests were affected between runs.

推荐答案

您可以实现NUnit.Core.Extensibility.IAddin"和NUnit.Core.EventListener".因此,您可以操纵测试结果.NUnit(2.5 或更高版本)将自动加载实现IAddin"方法的类.

You can implement 'NUnit.Core.Extensibility.IAddin' and 'NUnit.Core.EventListener'. So you can manipulate the results of your tests. The NUnit (2.5 or higher) will automatically load your class that implements the methods of "IAddin."

像这样:

using System;
using System.Text;
using NUnit.Core.Extensibility;
using NUnit.Core;

namespace YourNUnitAddIns
{
    /// <summary>
    /// Coleta informacoes da execucao do NUnit.
    /// </summary>
    [NUnitAddin(
        Name="CollectNUnitFailAddIn",
        Description="do something",
        Type=ExtensionType.Core)]
    public class CollectNUnitFailAddIn : IAddin, EventListener
    {
        #region IAddin Members

        public bool Install(IExtensionHost host)
        {    
            IExtensionPoint suiteBuilders = host.GetExtensionPoint("SuiteBuilders");
            IExtensionPoint testBuilders = host.GetExtensionPoint("TestCaseBuilders");
            IExtensionPoint events = host.GetExtensionPoint("EventListeners");

            if (events == null)
                return false;

            events.Install(this);

            return true;
        }

        #endregion

        #region EventListener Members

        public void RunFinished(Exception exception)
        {
            //do something here.
        }

        public void RunFinished(TestResult result)
        {
            //do something here.
        }

        public void RunStarted(string name, int testCount)
        {
            //do something here.
        }

        public void SuiteFinished(TestResult result)
        {
            //do something here.
        }

        public void SuiteStarted(TestName testName)
        {
            //do something here.
        }

        public void TestFinished(TestResult result)
        {
            //do something here.
        }

        public void TestOutput(TestOutput testOutput)
        {
            //do something here.
        }

        public void TestStarted(TestName testName)
        {
            //do something here.
        }

        public void UnhandledException(Exception exception)
        {
            //do something here.
        }

        #endregion
    }
}

这篇关于从 Nunit 获取失败测试列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆