通过Visual Studio进行NUnit自定义报告

问题描述 投票:0回答:1

我想将TestRail与NUnit集成。基本思想是使用[Property]属性将TestRail Case ID分配给测试方法,然后在测试套件运行时使用ITestEventListener在TestRail上执行实时更新。

为此,我在我的解决方案中创建了一个项目,其中包含所述接口和[Extension]属性的实现:

[Extension(Description = "TestRail Integration", EngineVersion = "3.4")]
public class TestRailIntegration : ITestEventListener
{
    public void OnTestEvent(string report)
    {
        var path = Path.Combine("D:\\NUnit", "foobar.txt");

        if (!Directory.Exists("D:\\NUnit"))
        {
            Directory.CreateDirectory("D:\\NUnit");
        }

        File.WriteAllText(path, report);
    }
}

但是如何让NUnit实际使用该扩展呢?我有两个用例:从Visual Studio运行并通过TeamCity运行。我读过“.addins”文件,但在我的项目中创建一个(然后用我的TestSuite.dll和nunit.engine.dll复制到输出目录)似乎没有效果。

我在哪里放置“.addins”文件?我从VS内部运行所有测试(使用Resharper)

c# visual-studio nunit reporting
1个回答
0
投票

每个支持引擎扩展的跑步者(并非所有人都应该)应该在与.addins相同的目录中附带一个nunit.engine.dll文件。该文件可以指向文件列表和/或目录。

如果指向某个目录,该目录可能包含其他.addins文件,允许它们被链接。

通常,最好的办法是将扩展程序与其自己的.addins文件一起放在目录中,并将该目录添加到主.addins文件中。这样,您可以使用xcopy部署,只需要编辑一个文件。

请记住,以多种方式安装的任何扩展(zip,msi,nuget)可能需要为每种包类型使用不同的.addins文件。如果仔细观察NUnit引擎本身,你会发现我们正在做的事情。

© www.soinside.com 2019 - 2024. All rights reserved.