端到端/集成测试 - jenkins构建

时间:2014-07-11 10:43:40

标签: scala jenkins continuous-integration sbt

我目前正在为我的Scala / Akka项目设置Jenkins-CI。

我设法创建与BitBucket集成的构建,并在创建新的pull reuqest /更新旧的pull请求时执行构建。

作为一个测试框架,我们使用Specs2,它也通过使用JUnit后构建操作与Jenkins集成。现在我想知道如何在我的构建中正确执行e2e测试。

基本上在git存储库中我们有2个项目,我们称之为main-projectrest-testsrest-tests包含使用REST-assured库编写的e2e测试。要执行它们,我需要启动main-project应用程序(使用Spray库来设置HTTP服务器),然后在test sbt项目中执行rest-test任务

我的想法是执行main-project启动脚本(由sbt-native-packager生成),如下所示:

$WORKSPACE/main-project/target/universal/stage/bin/main-project & echo $! > /tmp/main-project.pid

然后执行test项目的rest-tests任务,最后使用保存在/tmp/main-project.pid文件中的PID终止进程。

最后一步应该使用https://wiki.jenkins-ci.org/display/JENKINS/Post+build+task来实现,因为如果某些rest-tests会失败,那么下一步的构建将不会被执行(或者至少这是我在想的)并且我可能会以我的应用程序实例在构建完成后运行。

这是我第一次设置CI系统时,我的解决方案似乎有点hacky(至少对我而言)。我想知道是否有更好/更惯用的方法来解决运行e2e测试的问题,这需要运行另一个应用程序。

0 个答案:

没有答案