Dot-Net

在 Visual Studio 2012 express 上通過 Nuget 的 NUnit.Runners 不起作用

  • February 25, 2016

我正在嘗試使用 NuGet 管理器在 Visual Studio 2012 Express 中設置簡單的 NUnit 項目。從 PROJECT-> Manage NuGet Packages 我安裝了 NUnit(框架)並想要添加 NUnit.Runner 但在安裝過程中我收到:

'NUnit.Runners 2.6.2' already installed.

好的,但是當我轉到 TOOLS->Library Package Manager->Manage nuGet Packages for Solution 時,NUnit(框架)和 NUnit.Runners 都顯示為已安裝。

我可以在程式碼中使用 NUnit 框架,但是當我嘗試執行測試時,舊的“測試資源管理器”仍然存在並且不顯示任何內容。也不呼叫測試。

我在 VS2012 或 NUnit 配置中遺漏了什麼嗎?

我發現 Visual Studio Express 不支持項目擴展(微軟禁止和禁用)。因此,如果沒有一些變通方法,似乎沒有選擇使用 NUnit。到目前為止,我安裝了完整版,並且 NUnit runner 按預期工作。

您還可以使用此部落格文章評論中提到的方法 sombody :

  1. 在測試程序集中添加對 nunit-console-runner 的引用。

  2. 在您的測試程序集中,使用以下一個襯墊創建一個類(見下文

  3. 打開測試程序集的屬性。例如,右鍵點擊程序集並選擇屬性。

  4. 在應用程序選項卡上,選擇輸出類型:Windows 應用程序;和啟動對象:NUItConolseRunner(上面的文件)。

  5. 在 Debug 選項卡上,在 Command Line Arguments 中輸入 .csproj 文件名;並瀏覽到工作目錄中 .csproj 文件的文件夾。

  6. 保存所有內容,設置斷點並使用 F5 或綠色箭頭按鈕執行。

程式碼:

using System;
namespace MotorExampleTests
{     
   // Written by blokeley
  class NUnitConsoleRunner
  {

    [STAThread]
    static void Main(string[] args)
    {
        NUnit.ConsoleRunner.Runner.Main(args);
    }
  }
}

引用自:https://stackoverflow.com/questions/13348613