持续集成工具(TeamCity)中的集成测试

时间:2013-01-15 13:25:58

标签: java continuous-integration teamcity integration-testing

如何使用TeamCity在每个构建中执行自动化集成测试?

通常会有以下步骤:

  1. 从代码库中签出;
  2. 构建
  3. 部署;
  4. 启动服务器;
  5. 在服务器上运行测试。
  6. 问题是这些步骤彼此依赖;这一切都运行良好,直到第4步。这里你启动服务器,但它不会进入第5步,直到第4步结束。但是,如果步骤4完成,则服务器停止,因此步骤5中的测试将没有服务器可供使用。

    我想到的唯一解决方法是非常奇怪且丑陋(我不知道它是否真的有效):首先在守护程序线程中触发测试,该守护程序线程最初应该等待持续2分钟(让服务器开始时间);由于线程是一个守护程序线程,JVM可以停止,而线程仍然继续触发测试。在此之后,它可以进入下一步,启动服务器,直到服务器盯着计时器用完并触发测试。

1 个答案:

答案 0 :(得分:1)

这取决于“启动服务器”的含义。我们这样做,但我们将“启动服务器”视为实际启动服务器 - 当服务器完全正常运行时,该步骤结束。然后我们添加一个步骤6“停止服务器”。在第5步中,我们使用TeamCity的NUnit运行程序来运行测试。它很棒。