2017-04-11 81 views
0

我試圖在將代碼部署到網站後,在Visual Studio Team System(VSTS)中運行我的驗收測試。部署工作已經有幾個月了。測試步驟與以下消息失敗:VSTS部署後運行測試

這裏是日誌:

##[section]Starting: Test Assemblies **\*acceptance.tests.dll;-:**\obj\** 
============================================================================== 
Task   : Visual Studio Test 
Description : Run tests with Visual Studio test runner 
Version  : 2.0.24 
Author  : Microsoft Corporation 
Help   : [More Information] (https://go.microsoft.com/fwlink/?LinkId=835764) 
============================================================================== 
!**\obj\** 
[command]"C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" "d:\a\r1\a\Build website\drop\HepC.Web.Acceptance.Tests.dll" /logger:trx 
Microsoft(R) Test Execution Command Line Tool Version 14.0.25420.1 
Copyright(c) Microsoft Corporation.All rights reserved. 

Starting test execution, please wait... 
Warning: No test is available in d:\a\r1\a\Build website\dropdll.Make sure that installed test discoverers & executors, platform & framework versionnd try again. 


Information: Additionally, you can try specifying '/UseVsixExtensions' command if the is installed on the machine as vsix extensions and your installation supports vsix .console.exe myTests.dll /UseVsixExtensions:true 

##[warning]No results found to publish. 
##[section]Finishing: Test Assemblies **\*acceptance.tests.dll;-:**\obj\** 

我使用NUnit 3但是NUnit的適配器沒有被打包作爲部署的一部分,所以它不能看見。解決這個問題的最好方法是什麼?將NUnit3TestAdapter作爲主要網站的一部分包裝起來似乎有點奇怪,因此我可以在部署後運行一些測試。

回答

1

您需要包括NUnit3TestAdapter包到使用釋放的假象,然後指定Visual Studio的測試步驟/任務路徑要自定義測試適配器(用於VSTest.console.exe/TestAdapterPath參數)。

我建議你做試驗的構建過程中,如果測試通過,然後發佈web包神器,那麼你只需要在釋放過程中做部署

  1. 安裝NUnit 3 test adapter package到您的測試項目,並檢查改變
  2. 添加的NuGet安裝步驟/任務恢復包
  3. 的Visual Studio生成步驟/任務來構建解決方案
  4. Visual Studio的測試步驟/任務(指定路徑的自定義測試適配器,例如:$(Build.SourcesDirectory)\包)
  5. 發佈神器

如果你想在釋放過程中做測試,你可以添加複製文件的步驟/任務到適配器包複製到暫存文件夾(Build。StagingDirectory)將適配器包納入工件中,然後指定定製測試適配器的路徑用於Visual Studio測試任務使用該適配器包。

+0

我被告知我不需要在構建過程中這樣做,因爲VSTS會自動搜索包恢復位置。事實上,我爲我的單元測試做這件事。我特別試圖運行我需要首先部署解決方案的驗收測試。我會嘗試你的第二個建議。 – johnstaveley

+0

@johnstaveley我有這個相同的問題,你有沒有解決? –

+0

是的,他們工作了一段時間,然後再次停止。太忙,現在修復:( – johnstaveley

0

建設時,我通常打出來的文物:

  • 應用
  • 測試
  • 部署

應用是實際的二進制文件進行部署的應用程序。

測試包含集成/功能測試(如果有的話)需要運行部署後和任何相關的東西(測試CONFIGS,測試適配器,無論)

部署包含部署腳本和廣義配置文件在部署時進行轉換。

在您描述的場景中,NUnit測試適配器將成爲測試項目的一部分,並且您將該項目的所有二進制文件(包括測試適配器)發佈到一組測試工件。

+0

你有一些示例配置?我的構建設置是這樣的:/p:OutDir=$(build.stagingDirectory)/ p:DeployOnBuild = true/p:WebPublishMethod = Package/p:PackageAsSingleFile = true這是我可以打包和部署的唯一方法。我認爲它將它構建成一個包 – johnstaveley