2015-06-14 98 views
5

我正在開發一個針對dnx451的asp.net 5應用程序。如何使用asp.net 5項目運行nunit測試,特別是使用ReSharper?

asp.net 5項目依賴一些庫爲單位測試編寫的nunit 2.x.所以對我來說,合理的選擇是使用nunit來測試asp.net 5項目。

當我在ReSharper中運行單元測試時,ReSharper聲稱「Test not run」帶有附加消息「System.IO.FileNotFoundException:無法加載文件或程序集xxx」。

nunit 2.6.4和3.0.0-beta-2都會導致相同的錯誤。

任何人都已成功運行nunit測試對dnx項目?

+1

[如何運行的xUnit 2.1.0-β - \ *的DNX項目的ReSharper]的可能重複(HTTP://計算器.com/questions/30827067/how-to-run-xunit-2-1-0-beta-for-dnx-projects-with-resharper) –

+2

這不是重複的~~~這個是xUnit,另一個是爲NUnit。 – Smartkid

回答

3

ReSharper目前不支持DNX測試。這是一個全新的執行模型,尚未針對ReSharper實施。我希望看到支持DNX和asp.net穩定和接近釋放。另外,我不相信nunit本身支持作爲DNX測試運行者運行 - xunit團隊有一個單獨的項目可以插入DNX:https://github.com/xunit/dnx.xunit

+0

更糟糕的是,如果您爲項目啓用構建輸出生成(NuGet自動包裝部件),實際組件幾乎都是* ReSharper期望的地方 - 只有一個文件夾。 – sunside

+0

hey matt - 這個有什麼更新? https://github.com/nunit/nunit/issues/575已完成,所以我想知道它的resharper支持 – Dbl

+0

我正在努力吧! ReSharper將支持運行DNX測試。目前,該計劃僅用於發現並運行xunit測試 - mstest或nunit測試將被忽略(甚至在編輯器中未發現,因爲我們無法運行它們)。我讀過nunit問題的方式是它可以在CoreCLR/DNX下運行,但本身不是DNX亞軍,就像xunit亞軍一樣。據我瞭解,nunit仍然必須實施DNX亞軍整合。請糾正我,如果我錯了:) – citizenmatt

0

希望,說「特別是隨着ReSharper的」,你的意思是你想知道如何運行NUnit的測試,如果可能的話,用ReSharper。話雖這麼說,這裏是如何無需ReSharper的運行在Visual Studio針對ASP.NET核心NUnit的測試(原名爲ASP.NET 5):

  1. 添加一個新的項目,並選擇控制檯應用程序(.NET核心)。試圖使用類庫會報錯。
  2. 添加最新版本的DOTNET試驗NUnit的 NuGet包的(確保包括搶鮮被選中,否則您將無法在飼料的NuGet找到它)
  3. 添加最新版本的NUnit NuGet包。
  4. 編輯project.json和加入這一行:"testRunner": "nunit",

現在,您可以通過選擇測試運行測試 - 從Visual Studio菜單中的所有測試 - 運行。

project.json文件應該是這樣的:

{ 
    "version": "1.0.0-*", 
    "buildOptions": { 
    "emitEntryPoint": true 
    }, 

    "dependencies": { 
    "dotnet-test-nunit": "3.4.0-beta-1", 
    "ProjectUnderTest": "1.0.0-*", 
    "Microsoft.NETCore.App": { 
     "type": "platform", 
     "version": "1.0.0" 
    }, 
    "NUnit": "3.4.1" 
    }, 
    "testRunner": "nunit", 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": "dnxcore50" 
    } 
    } 
} 
相關問題