2017-02-05 26 views
1

我正在嘗試以編程方式運行測試,我有兩個解決方案,一個是包含測試的類庫,另一個是控制檯應用程序。 我想要運行包含在DLL從控制檯應用程序無法以編程方式成功運行NUnit

下面的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

我試過同樣的事情 - 它似乎在工作:根據測試結果,我得到ResultState作爲「成功」或「失敗」。你使用的是哪個版本的Nunit?也許你的代碼中有其他的東西會造成這個問題? –

回答

0

您是否嘗試過nunit3-console.exe?你可以帶參數執行,例如:

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

你可以找到nunit3-console.exe

C:\用戶\ XXXXXX \文檔\ Visual Studio的20XX \項目\\包\ NUnit.ConsoleRunner。 3.7.0 \ tools

用nuget NUnit.ConsoleRunner安裝後。