所有的测试都通过了,但是竹版构建失败了,声明“没有发现失败的测试,发生了可能的编译错误”。

时间:2012-07-17 10:08:13

标签: integration-testing bamboo jbehave

我应该在竹子里进行一些jbehave(自动)测试。一旦测试运行,我将生成一些junit兼容的xml文件,以便竹子可以理解相同的。所有jbehave测试都作为脚本的一部分运行,因为我需要在单独的显示屏幕中运行jbehave测试(请记住这些是自动浏览器测试)。示例脚本如下。

前:

export DISPLAY=:0 && xvfb-run --server-args="-screen 0, 1024x768x24" 
mvn clean integration-test -DskipTests -P integration-test -Dtest=*

我还有一个junit解析器任务,它指向生成的junit兼容的xml文件。因此,一旦竹子构建运行,即使所有测试都通过,我也会得到红色构建,并显示“未找到失败的测试,可能发生编译错误。”

请在这方面帮助我。

3 个答案:

答案 0 :(得分:15)

您的构建脚本可能会生成成功的测试报告,但您的任务中的一个(或两个)可能会失败。这意味着在测试完成后可能会发生故障。检查构建日志中是否有错误。您也可以尝试登录Bamboo服务器(作为竹子用户)并手动运行命令。

过去,当我们的测试任务在测试运行中途崩溃时,我看到过此消息,导致Bamboo忽略了一个格式错误的报告以及一堆成功的报告。

*检查构建日志以确保您的测试确实在运行。如果mvn clean没有清理测试报告目录,那么Bamboo可能只是在解析过时的测试报告。


编辑:(回应Kishore的链接)

杀死Xvfb似乎是导致构建失败的原因。

18-Jul-2012 09:50:18    Starting task 'Kill Xvfb' of type 'com.atlassian.bamboo.plugins.scripttask:task.builder.script'

18-Jul-2012 09:50:18    
Beginning to execute external process for build 'Functional Tests - Application Release Test - Default Job'
 ... running command line: 
/bin/sh
  /tmp/FUNC-APPTEST-JOB1-91-ScriptBuildTask-4153769009554485085.sh
 ... in: /opt/bamboo-home/xml-data/build-dir/FUNC-APPTEST-JOB1
 ... using extra environment variables: 

<..snip (no meaningful output)..>

18-Jul-2012 09:50:18    Failing task since return code was 1 while expected 0

18-Jul-2012 09:50:18    Finished task 'Kill Xvfb'

你的“Kill Xvfb”脚本有什么作用?你在尝试像pkill -f“[x] vfb”这样的东西吗? pkill -f如果无法将表达式与任何进程匹配,则会静默返回非零值。

答案 1 :(得分:4)

我的解决方案是制作一个“脚本”任务:

#!/bin/bash
/usr/local/bin/phpcs --report=checkstyle --report-file=build/logs/checkstyle.xml --standard=PSR2 ./lib | exit 0

始终以状态0退出。

这是因为当只发现1次编码违规(警告/错误)导致构建失败时,PHP代码嗅探器返回退出状态1。

答案 2 :(得分:3)

原来是一个简单的修复。

一般竹子行为是扫描整个日志并查看任何失败代码(1)。对于这个特定的配置,我有6个脚本,其中一个是杀死xvfb(帧缓冲区)。由于某种原因,服务器无法杀死xvfb并且该任务正在返回失败代码。因此,尽管所有测试都通过了,但是竹子从之前的任务中得到了这个错误代码之一,并且构建失败了。

目前的修复方法是删除杀死xvfb并且构建变为绿色的任务! \ o /.