我有一个使用标准TFS构建定义模板的解决方案。在构建解决方案时运行单元测试,但不要使构建失败。
我还有一个单独的测试应用程序,它运行一套自动化测试。这些测试需要很长时间才能作为主构建的一部分运行(因为我们需要访问构建的应用程序才能进行手动测试),但是我想在构建完成后自动启动这个测试应用程序,我想要它针对构建的应用程序运行。我不知道它是否重要,但测试应用程序也是解决方案的一部分,并引用了一些应用程序DLL。
我对如何最好地实现这一目标感到困惑。我是否需要创建新的构建过程模板?我真的想在单独的版本中使用它吗?
答案 0 :(得分:1)
如果您正在使用2013 Build Template(TfvcTemplate.12.xaml),那么可以指定要运行的测试后PowerShell脚本。然后,您只需编写一个PowerShell脚本来运行您的自定义测试应用程序并从构建中调用它。
答案 1 :(得分:1)
我不建议将此作为构建的一部分,而应该成为发布管道的一部分。您的自动化集成测试应该在配置为收集测试数据而不是编译代码的环境中运行。
Visual Studio 2013的发布管理提供了将构建输出推送到服务器然后根据需要执行任何操作的功能。
http://nakedalm.com/execute-tests-release-management-visual-studio-2013/
我在上面的示例中配置了CodedIU测试,但实际上可以使用任何测试设置。我还配置了一个实验室(可选),以便在测试执行时评估环境。
答案 2 :(得分:1)
在两者之间有第三种选择。使用Lab模板运行测试,请参阅Automated build-deploy-test workflows。您最终会拥有生成打包工件的“普通”构建,然后使用LabDefaultTemplate.xaml
进行另一个构建,从那里选择并运行您的UI或集成测试。