有誰知道如何使用dotnet測試在VSTS上運行測試項目嗎?如何在VSTS中的發佈步驟上運行Visual Studio 2017 dotnet測試項目
我的情況是這樣的。我有一個簡單的MVC dotnet核心Web項目,它構建並託管在一個天藍色的webapp上。在解決方案中,我有一個xUnitTest項目。
我可以在解決方案中成功構建兩個項目,並在構建階段發佈結果,準備在VSTS中進行發佈階段。我可以很好地做Webapp,但想在部署webapp之後運行測試,這是我遇到問題的地方。
試圖通過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的測試部分的基礎之上。
你用來發布什麼文件?測試文件是否存在(例如csproj)? –