Maven:远程运行Unit-Tests

时间:2011-04-19 17:36:56

标签: java java-ee maven build-automation

我们目前正在开发分布式Java EE-Application,因此需要一个独立的测试和生产系统。

编译和捆绑是通过Ant-Task完成的。现在我们要将不同服务器的Jar-Files部署到测试服务器并在那里运行JUnit Integration / Function-Tests。如果成功,则应将当前版本部署到实时服务器。

普通单位 - 测试由Hudson执行。 是否可以使用Maven,是否有任何信息或最佳实践?

2 个答案:

答案 0 :(得分:1)

是。哈德森有maven整合。通过此wiki和此link获取战利品。

您可以为作业设置单元测试用例阈值,以查看它是否未通过一定数量的测试用例。因为部署插件不会被调用,应用程序也不会被部署。

答案 1 :(得分:0)

  1. 从Ant构建JAR并重用它。我会在您的环境中添加一个Maven存储库,例如Artifactory,Archiva或Nexus,并使用Ivy进行部署。你几乎肯定需要使用Maven存储库来满足Maven对小规模个人项目的需求。 http://ant.apache.org/ivy/

  2. 使用Maven从Maven资源库中获取JAR。为此,只需使用普通的Maven依赖声明。

  3. 在QA服务器上运行Maven,并在该项目中声明JUnit测试。如果成功,请将JAR部署到生产服务器。为此,详细信息取决于生产服务器。如果它是WAR,我会使用Cargo,但如果它是JAR,它实际上取决于执行JAR的内容 - 您可能需要某种文件副本,scp等。http://cargo.codehaus.org/

  4. Hudson和TeamCity也都有部署功能。您只需设置要运行的作业(在本例中为Maven作业),并告知CI服务器成功部署。