更改TFS Build以便在执行测试之前进行部署

时间:2013-08-07 08:30:29

标签: testing deployment tfs msbuild tfsbuild

当我使用Selenium / MSTest进行UI测试时,我遇到了一个问题:我需要在TFS执行自动化测试之前将ASP.NET站点部署到登台服务器 build(TFS 2012)。

虽然我认为我可以在TFS构建过程模板(DefaultTemplate.xaml)中进行此配置,但我无法弄清楚如何更改执行构建 - >部署 - >的订单。测试流程。

注意我在使用TFS实验室环境时发现了一些帮助这个目标的方法,但这不是我的情况。

3 个答案:

答案 0 :(得分:1)

默认模板单元测试与UI测试不同。默认模板旨在运行Build - >单元测试 - >部署。

您现在正在构建 - >单元测试 - >部署 - > UI测试。

对于UI测试,您需要单独的测试代理并在交互过程中设置构建代理。

这些链接可能会有所帮助

答案 1 :(得分:1)

最后我解决了链接构建问题。

例如,当我对生产构建进行排队时,这就是序列:

  1. 构建,部署到没有UI测试的分段
  2. 构建,不部署,仅暂存UI测试
  3. 在没有UI测试的情况下构建,部署到生产
  4. 仅构建,不部署,生产UI测试
  5. 我从这篇博文中得到了解决方案:

    Post的作者在GitHub Gist中发布了修改后的DefaultTemplate.xaml(构建定义):

    整个博客的积分!

答案 2 :(得分:0)

一个简单的解决方案是拥有一个在构建定义中指定的中间msbuild项目文件,并从那里调用实际的解决方案文件。

然后,您可以在构建之前或之后执行任何操作,以确保在TFS执行测试之前环境已启动并运行。在TFS运行集成测试之前,我们会做一些事情,比如编译和部署数据库。

这是一种避免必须操纵构建模板的解决方案。