无法以编程方式成功运行NUnit

时间:2017-02-05 03:42:23

标签: c# nunit

我目前正在尝试以编程方式运行测试,我有两个解决方案,一个是包含测试的类库,另一个是控制台应用程序。 我想从控制台应用程序

运行DLL(类库输出)中包含的测试

低于ClassLibrary的代码

[TestFixture]
public class TestClass
{
    [Test]
    public void TestMethod()
    {
        // TODO: Add your test code here
        Assert.IsTrue(true);
    }

    [Test]
    public void Test()
    {
        // TODO: Add your test code here
        Assert.IsTrue(true);
    }
}

这是我的控制台应用程序代码

static void Main(string[] args)
{          
    TestPackage testPackage = new TestPackage("Test");
    testPackage.Assemblies.Add(
           @"C:\DEV\NUnitConsole\NUnit.Tests\bin\Debug\NUnit.Tests.dll");

    RemoteTestRunner remoteTestRunner = new RemoteTestRunner();
    remoteTestRunner.Load(testPackage);
    TestResult result = remoteTestRunner.Run(new NullListener(),
             TestFilter.Empty, false, LoggingThreshold.Error);

    Console.ReadLine();
}

一切都成功运行但是我从未得到测试结果,只是说这是不确定的。

{NUnit.Core.TestResult}
AssertCount: 0
Description: null
Executed: true
FailureSite: Test
FullName: "C:\\DEV\\NUnitConsole\\NUnit.Tests\\bin\\Debug\\NUnit.Tests.dll"
HasResults: false
IsError: false
IsFailure: false
IsSuccess: false
Message: null
Name: "C:\\DEV\\NUnitConsole\\NUnit.Tests\\bin\\Debug\\NUnit.Tests.dll"
ResultState: Inconclusive
Results: null
StackTrace: null
Test: {NUnit.Core.TestInfo}
Time: 0.0012101472641609884

1 个答案:

答案 0 :(得分:0)

你试过nunit3-console.exe吗?您可以使用参数执行,例如:

nunit3-console.exe "TestNunit.dll" -noresult

您可以在

中找到nunit3-console.exe
  

C:\ Users \ xxxxxx \ Documents \ Visual Studio 20xx \ Projects \\ packages \ NUnit.ConsoleRunner.3.7.0 \ tools

使用nuget NUnit.ConsoleRunner安装后。