junit - 使用 JUnit、Maven 和 Hudson/Jenkins 进行集成测试

标签 junit hudson integration-testing

我们将使用 Hudson/Jenkins 构建服务器来构建我们的服务器应用程序(只需调用 maven)并对其运行集成测试。我们将准备 3 个 Hudson/Jenkins 作业:用于构建、部署和运行集成测试,它们按此顺序相互调用。所有这些作业(构建、部署、集成测试)将每晚运行。

集成测试是用JUnit编写的,并由mvn test调用,(它将由“测试”Hudson/Jenkins调用> 依次工作)。由于它们要求服务器启动并运行,我们必须运行该“部署”作业。

有道理吗?是否有任何特殊的服务器来部署应用程序并运行测试,或者 Hudson/Jenkins 可以吗?

最佳答案

这绝对有道理,基本上你指的是构建管道。有一个Jenkins-plugin帮助可视化上游/下游项目(您在 jenkins 中创建一个新的管道 View )。

至于服务器组件的部署,这取决于您运行的技术/堆栈。例如,您可以编写一个脚本,使用 jenkins 中的构建后步骤将应用程序部署到测试环境。

另一种选择是使用 Maven 插件来部署应用程序。您可以在配置文件中分离部署步骤,并在部署步骤等上仅运行部署目标。

基本上有很多选择,但是构建管道的想法很有意义。要阅读构建管道和相关主题,我建议查看 Continuous Deployment .

有关 Jenkins 的更多信息,请查看 this video .

Does it make sense? Is there are any special server to deploy application and run tests or Hudson/Jenkins is ok for that?

您可以在与 jenkins 相同的服务器上运行应用程序,但这是否有意义取决于应用程序。如果它严重依赖于特定的服务器设置,更好的选择可能是在虚拟机中运行服务器,但在源代码管理中进行配置。有很多工具可以帮助实现自动化,我最想到的就是 Puppet , ChefVagrant

关于junit - 使用 JUnit、Maven 和 Hudson/Jenkins 进行集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9444775/

相关文章:

java - 如何在MockRestServiceServer中按字符串模式期望requestTo?

svn - 是否有用于在 Hudson 中列出 subversion 标签的插件?

linux - Hudson:返回状态代码 141:致命:写入错误:设备上没有剩余空间

任何集成测试中的 Grails 3.0.6 java.lang.IllegalStateException

c# - 在 net core 中集成测试自定义 HTTP 客户端

unit-testing - 单元测试 - 测试用例与多种方法

unit-testing - 作为 Groovy Spock 方法的经典单元测试

java - 断言列表时 assertEquals 究竟检查什么?

hudson - 如何: project based authorization in Hudson

grails - Spock 集成测试用例中的应用真实路径问题