2015-12-05 59 views
3

我使用預覽模板在Visual Studio 2015中創建了一個ASP.NET 5項目。我通過NuGet安裝了XUnit,並在我的解決方案中添加了「xUnit Test Project(DNX)」。Visual Studio 2015中的XUnit RC1 Update 1未找到測試

但我的測試資源管理器沒有顯示任何內容,即使我在Class1.cs中有一個公共的「Fact」測試方法。當我「運行所有測試」時,「測試」輸出窗口是空白的。我的「Build」輸出窗口顯示2個項目構建成功。 (我的ASP.NET 5項目,我的xUnit項目。)

當我完成構建或清理我的解決方案,但是,我在「測試」輸出窗口收到以下消息:

------ Discover test started ------ 
------ Test started: Project: MyProjectTest ------ 
Starting Microsoft.Dnx.TestHost [C:\Users\xxxxxx\.dnx\runtimes\dnx-clr-win-x86.1.0.0-rc1-update1\bin\dnx.exe --appbase "C:\Users\xxxxxx\Documents\GitForWindows\Repositories\MySolution\MyProjectTest" Microsoft.Dnx.ApplicationHost --port 8424 Microsoft.Dnx.TestHost --port 8458 --parentProcessId 17312] 

System.NullReferenceException: Object reference not set to an instance of an object. 
    at Microsoft.Dnx.TestHost.Program.<>c__DisplayClass2_0.<<Main>b__0>d.MoveNext() 
Unable to start Microsoft.Dnx.TestHost 
========== Discover test finished: 0 found (0:00:01.057196) ========== 

我根據兩個項目的屬性窗口,解決方案DNX SDK版本是1.0.0-rc1-update1。我還通過dnvm將其設置爲「活動」運行時,而不會改變上述行爲。不過,我不明白關於從命令行運行DNX的說明,所以也許這是一個起點?

當我嘗試切換DNX SDK 1.0.0-beta5的,而是和乾淨的解決方案,我得到:

------ Discover test started ------ 
------ Test started: Project: MyProjectTest ------ 
Starting Microsoft.Framework.TestHost [C:\Users\xxxxx\.dnx\runtimes\dnx-clr-win-x86.1.0.0-beta5\bin\dnx.exe --appbase "C:\Users\xxxxxx\Documents\GitForWindows\Repositories\MySolution\MyProjectTest" Microsoft.Framework.ApplicationHost --port 9737 Microsoft.Framework.TestHost --port 9770 --parentProcessId 16732] 

System.InvalidOperationException: Failed to resolve the following dependencies for target framework 'DNX,Version=v4.5.1': 
    xunit 2.1.0 
    xunit.runner.dnx 2.1.0-beta6-build191 

Searched Locations: 
    C:\Users\xxxxx\Documents\GitForWindows\Repositories\MySolution\{name}\project.json 
    C:\Users\xxxxx\Documents\GitForWindows\Repositories\MySolution\src\{name}\project.json 
    C:\Users\xxxxx\Documents\GitForWindows\Repositories\MySolution\test\{name}\project.json 
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\{name}.dll 
    C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5.1\Facades\{name}.dll 
    C:\Windows\Microsoft.NET\assembly\GAC_32\{name}\{version}\{name}.dll 
    C:\Windows\Microsoft.NET\assembly\GAC_64\{name}\{version}\{name}.dll 
    C:\Windows\Microsoft.NET\assembly\GAC_MSIL\{name}\{version}\{name}.dll 

Try running 'dnu restore'. 

    at Microsoft.Framework.Runtime.DefaultHost.GetEntryPoint(String applicationName) 
    at Microsoft.Framework.ApplicationHost.Program.ExecuteMain(DefaultHost host, String applicationName, String[] args) 
    at Microsoft.Framework.ApplicationHost.Program.Main(String[] args) 
--- End of stack trace from previous location where exception was thrown --- 
    at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() 
    at Microsoft.Framework.Runtime.Common.EntryPointExecutor.Execute(Assembly assembly, String[] args, IServiceProvider serviceProvider) 
    at dnx.host.Bootstrapper.RunAsync(List`1 args, IRuntimeEnvironment env) 
    at dnx.host.RuntimeBootstrapper.ExecuteAsync(String[] args) 
    at dnx.host.RuntimeBootstrapper.Execute(String[] args) 
Unable to start Microsoft.Framework.TestHost 
========== Discover test finished: 0 found (0:00:01.4699978) ========== 

運行DNU還原不會解決任何問題。

編輯:這是按要求project.json:你需要使用一個版本的xUnit亞軍匹配DNX的

{ 
    "version": "1.0.0-*", 
    "description": "", 
    "authors": [ "" ], 
    "tags": [ "" ], 
    "projectUrl": "", 
    "licenseUrl": "", 

    "dependencies": { 
    "xunit": "2.1.0", 
    "xunit.runner.dnx": "2.1.0-beta6-build191" 
    }, 
    "commands": { 
    "test": "xunit.runner.dnx" 
    }, 

    "frameworks" : { 
    "dnx451": { }, 
    "dnxcore50" : { 
     "dependencies": { 
     "System.Collections": "4.0.11-beta-23225", 
     "System.Linq": "4.0.1-beta-23225", 
     "System.Threading": "4.0.11-beta-23225", 
     "Microsoft.CSharp": "4.0.1-beta-23225" 
     } 
    } 
    } 
} 
+1

您可以共享project.json文件嗎? –

+0

我已經包含該文件。 – David

+0

您需要將xunit.runner.dnx移至版本2.1.0-rc1-build204 – Pawel

回答

2

。對於dxn RC1,您需要使用xunit.runner.dnx的版本2.1.0-rc1-build204

相關問題