我在将代码部署到网站后尝试在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打包为主网站的一部分似乎有点奇怪,因此我可以在部署后运行一些测试。
答案 0 :(得分:2)
您需要将NUnit3TestAdapter包包含在发行版使用的工件中,然后为 Visual Studio测试步骤指定路径到自定义测试适配器(/ VSTest.console.exe的TestAdapterPath参数) /任务即可。
我建议你在构建期间进行测试,如果测试通过,然后将web包发布到工件,那么你只需要在发布期间进行部署
如果要在发布期间进行测试,可以添加复制文件步骤/任务以将适配器包复制到暂存文件夹(Build.StagingDirectory)以将适配器包包含在工件中,然后使用该适配器包为 Visual Studio测试任务指定自定义测试适配器的路径。
答案 1 :(得分:0)
我通常在构建时打破工件:
应用程序是要部署的应用程序的实际二进制文件。
测试包含需要在部署后运行的集成/功能测试(如果有)以及任何相关的东西(测试配置,测试适配器,等等)
部署包含要在部署时进行转换的部署脚本和通用配置文件。
在您描述的场景中,NUnit测试适配器将成为测试项目的一部分,并且您将该项目的所有二进制文件(包括测试适配器)发布到一组测试工件。