簡體   English   中英

如何從C#代碼運行NUnit測試

[英]How to Run NUnit Tests from C# Code

我正在嘗試編寫一個接收文件並使用NUnit運行它的簡單方法。 我使用NUnit的源代碼構建的代碼不起作用:

if(openFileDialog1.ShowDialog() != DialogResult.OK)
{
    return;
}

var builder = new TestSuiteBuilder();
var testPackage = new TestPackage(openFileDialog1.FileName);
var directoryName = Path.GetDirectoryName(openFileDialog1.FileName);
testPackage.BasePath = directoryName;
var suite = builder.Build(testPackage);

TestResult result = suite.Run(new NullListener(), TestFilter.Empty);

問題是我不斷得到builder.Build拋出的異常,說明找不到程序集。

我錯過了什么? 是否有其他方法從代碼運行測試(不使用Process.Start)?

在開頭添加以下行,設置NUnit框架並可能對您有所幫助:

CoreExtensions.Host.InitializeService();

以編程方式執行NUnit測試的另一種“更簡單”的方法是:

TestPackage testPackage = new TestPackage(@"C:\YourProject.Tests.dll");
RemoteTestRunner remoteTestRunner = new RemoteTestRunner();
remoteTestRunner.Load(testPackage);
TestResult testResult = remoteTestRunner.Run(new NullListener());

您需要引用以下程序集:

  • nunit.core.dll
  • nunit.core.interfaces.dll

當然, nunit.framework.dll必須位於測試程序集的文件夾中;)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM