2017-05-18 26 views
0

有誰知道如何使用dotnet測試在VSTS上運行測試項目嗎?如何在VSTS中的發佈步驟上運行Visual Studio 2017 dotnet測試項目

我的情況是這樣的。我有一個簡單的MVC dotnet核心Web項目,它構建並託管在一個天藍色的webapp上。在解決方案中,我有一個xUnitTest項目。

我可以在解決方案中成功構建兩個項目,並在構建階段發佈結果,準備在VSTS中進行發佈階段。我可以很好地做Webapp,但想在部署webapp之後運行測試,這是我遇到問題的地方。

The configuration of release in VSTS

試圖通過PowerShell來運行「的dotnet測試」失敗說,它不能找到其中一個Visual Studio 2017年項目沒有project.json。

  Directory: D:\a\r1\a\Test QA-ASP.NET (PREVIEW)-CI\Extract\TrentsCoreTestProj 
2017-05-18T08:39:05.5423817Z 
2017-05-18T08:39:05.5423817Z 
2017-05-18T08:39:05.5433824Z Mode    LastWriteTime   Length Name                 
2017-05-18T08:39:05.5433824Z ----    -------------   ------ ----                 
2017-05-18T08:39:05.5513817Z d-----  5/18/2017 6:48 AM    bin                 
2017-05-18T08:39:05.5535129Z d-----  5/18/2017 6:50 AM    obj                 
2017-05-18T08:39:05.5673839Z -a----  5/18/2017 6:48 AM   1179 DemoTests.cs               
2017-05-18T08:39:05.5693821Z -a----  5/18/2017 6:48 AM   637 TrentsCoreTestProj.csproj            
2017-05-18T08:39:07.0767288Z 
2017-05-18T08:39:07.0767288Z Welcome to .NET Core! 
2017-05-18T08:39:07.0767288Z --------------------- 
2017-05-18T08:39:07.0767288Z Learn more about .NET Core @ https://aka.ms/dotnet-docs. Use dotnet --help to see available commands or go to https://aka.ms/dotnet-cli-docs. 
2017-05-18T08:39:07.0767288Z Telemetry 
2017-05-18T08:39:07.0767288Z -------------- 
2017-05-18T08:39:07.0767288Z The .NET Core tools collect usage data in order to improve your experience. The data is anonymous and does not include commandline arguments. The data is collected by Microsoft and shared with the community. 
2017-05-18T08:39:07.0767288Z You can opt out of telemetry by setting a DOTNET_CLI_TELEMETRY_OPTOUT environment variable to 1 using your favorite shell. 
2017-05-18T08:39:07.0767288Z You can read more about .NET Core tools telemetry @ https://aka.ms/dotnet-cli-telemetry. 
2017-05-18T08:39:07.0767288Z Configuring... 
2017-05-18T08:39:07.0767288Z ------------------- 
2017-05-18T08:39:07.0767288Z A command is running to initially populate your local package cache, to improve restore speed and enable offline access. This command will take up to a minute to complete and will only happen once. 
2017-05-18T08:39:12.5336298Z Decompressing 0%Decompressing 1%Decompressing 2%Decompressing 3%Decompressing 4%Decompressing 
... 
97%Decompressing 98%Decompressing 99%Decompressing 100% 5339 ms 
2017-05-18T08:39:33.4781464Z Expanding 0%Expanding 1%Expanding 2%Expanding 3%Expanding 4%Expanding 
... 
97%Expanding 98%Expanding 99%Expanding 100% 20646 ms 
2017-05-18T08:39:59.8431503Z ##[error]dotnet-test Error: 0 : System.InvalidOperationException: D:\a\r1\a\Test QA-ASP.NET (PREVIEW)-CI\Extract\TrentsCoreTestProj\project.json does not exist. 
    at Microsoft.DotNet.Tools.Test.TestCommand.GetProjectPath(String projectPath) 
    at Microsoft.DotNet.Tools.Test.TestCommand.DoRun(String[] args) 

2017-05-18T08:40:01.1967180Z ##[error]Process completed with exit code -1 and had 1 error(s) written to the error stream. 
2017-05-18T08:40:01.1977186Z ##[section]Finishing: PowerShell Script 

當我使用「DOTNET」釋放步驟,它告訴我說的csproj是不存在的,這一點我可以從它肯定是PowerShell的看到。

2017-05-18T08:40:01.1997188Z ============================================================================== 
2017-05-18T08:40:01.1997188Z Task   : .NET Core 
2017-05-18T08:40:01.1997188Z Description : Build, test and publish using dotnet core command-line. 
2017-05-18T08:40:01.1997188Z Version  : 1.0.1 
2017-05-18T08:40:01.1997188Z Author  : Microsoft Corporation 
2017-05-18T08:40:01.1997188Z Help   : [More Information](https://go.microsoft.com/fwlink/?linkid=832194) 
2017-05-18T08:40:01.1997188Z ============================================================================== 
2017-05-18T08:40:01.6787208Z [command]"C:\Program Files\dotnet\dotnet.exe" test "D:\a\r1\a\Test QA-ASP.NET (PREVIEW)-CI\Extract\TrentsCoreTestProj\TrentsCoreTestProj.csproj" 
2017-05-18T08:40:01.8877228Z dotnet-test Error: 0 : System.InvalidOperationException: D:\a\r1\a\Test QA-ASP.NET (PREVIEW)-CI\Extract\TrentsCoreTestProj\TrentsCoreTestProj.csproj\project.json does not exist. 
2017-05-18T08:40:01.8887223Z at Microsoft.DotNet.Tools.Test.TestCommand.GetProjectPath(String projectPath) 
2017-05-18T08:40:01.8887223Z at Microsoft.DotNet.Tools.Test.TestCommand.DoRun(String[] args) 
2017-05-18T08:40:01.9397245Z ##[error]Error: C:\Program Files\dotnet\dotnet.exe failed with return code: 4294967295 
2017-05-18T08:40:01.9397245Z ##[error]Dotnet command failed with non-zero exit code on the following projects : D:\a\r1\a\Test QA-ASP.NET (PREVIEW)-CI\Extract\TrentsCoreTestProj\TrentsCoreTestProj.csproj 
2017-05-18T08:40:01.9397245Z ##[section]Finishing: dotnet test 

我可以成功地在我的本地命令行中運行「DOTNET測試」,使用完全相同的命令,但是我需要這是在VSTS這樣我就可以使我們的CI的測試部分的基礎之上。

+0

你用來發布什麼文件?測試文件是否存在(例如csproj)? –

回答

1

檢查:

  1. 您可以使用託管VS 2017隊列而不是默認的託管隊列或具有1.0.0+ CLI裝
  2. 確保沒有global.json文件定製機在您的項目中(或在D:\上)將CLI用於1.0.0-preview2-*版本 - 這可能是您看到project.json does not exist消息的原因。
+0

如果這些步驟適合您,請考慮接受答案。如果沒有,請讓我/我們知道。 –

相關問題