我有一个包含 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 获取失败测试列表
发布评论