VSTS部署后运行测试

时间:2017-04-11 13:37:27

标签: azure-pipelines-release-pipeline

我在将代码部署到网站后尝试在Visual Studio Team System(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打包为主网站的一部分似乎有点奇怪,因此我可以在部署后运行一些测试。

2 个答案:

答案 0 :(得分:2)

您需要将NUnit3TestAdapter包包含在发行版使用的工件中,然后为 Visual Studio测试步骤指定路径到自定义测试适配器(/ VSTest.console.exe的TestAdapterPath参数) /任务即可。

我建议你在构建期间进行测试,如果测试通过,然后将web包发布到工件,那么你只需要在发布期间进行部署

  1. NUnit 3 test adapter package安装到测试项目并检入更改
  2. 添加Nuget安装步骤/任务以恢复包
  3. Visual Studio构建步骤/任务以构建解决方案
  4. Visual Studio测试步骤/任务(指定自定义测试适配器的路径,例如:$(Build.SourcesDirectory)\ packages)
  5. 发布工件
  6. 如果要在发布期间进行测试,可以添加复制文件步骤/任务以将适配器包复制到暂存文件夹(Build.StagingDirectory)以将适配器包包含在工件中,然后使用该适配器包为 Visual Studio测试任务指定自定义测试适配器的路径

答案 1 :(得分:0)

我通常在构建时打破工件:

  • 申请
  • 测试
  • 部署

应用程序是要部署的应用程序的实际二进制文件。

测试包含需要在部署后运行的集成/功能测试(如果有)以及任何相关的东西(测试配置,测试适配器,等等)

部署包含要在部署时进行转换的部署脚本和通用配置文件。

在您描述的场景中,NUnit测试适配器将成为测试项目的一部分,并且您将该项目的所有二进制文件(包括测试适配器)发布到一组测试工件。