gpt4 book ai didi

c# - 从 Nunit 获取失败测试列表

转载 作者:行者123 更新时间:2023-11-30 21:05:54 25 4
gpt4 key购买 nike

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

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

最佳答案

您可以实现“NUnit.Core.Extensibility.IAddin”和“NUnit.Core.EventListener”。所以你可以操纵你的测试结果。 NUnit(2.5 或更高版本)将自动加载实现“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
}
}

关于c# - 从 Nunit 获取失败测试列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11441430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com