我在phpUnderControl中设置了以下build.xml文件。
<target name="phpunit">
<exec executable="phpunit" dir="${basedir}/httpdocs" failonerror="on">
<arg line="--log-junit ${basedir}/build/logs/phpunit.xml
--coverage-clover ${basedir}/build/logs/phpunit.coverage.xml
--coverage-html ${basedir}/build/coverage
--colors
${basedir}/httpdocs/qc/unit/CalculatorTest.php" />
</exec>
</target>由于一些未知的原因,构建总是失败,并显示以下消息。
phpunit:
[exec] PHPUnit 3.4.15 by Sebastian Bergmann.
[exec]
BUILD FAILED
/opt/cruisecontrol-bin-2.8.3/projects/citest.local/build.xml:30: exec returned: 255我在单元目录中手动运行了非常简单的单元测试,PHPUnit返回。
PHPUnit 3.4.15 by Sebastian Bergmann.
.
Time: 0 seconds, Memory: 5.25Mb
OK (1 test, 1 assertion)有没有人知道为什么在所有测试都很好的情况下,构建总是失败?
我的构建脚本确实有一个干净的方法来删除和日志文件,所以它不是这样的。我还手动删除了日志文件,以防是该脚本。并更改了日志目录的所有者,使其可写。
如果这有什么不同,那么在运行PHPUnit之后,phpunit.xml将为空。
谢谢。
更新:顺便说一句,如果我删除了failonerror="on",显然它可以工作,但PHPUnit仍然返回255,我希望它在任何错误时都会失败,问题是没有任何错误,但它仍然失败!
发布于 2010-07-23 23:34:35
255是PHP在致命错误和(我认为)解析错误时抛出的错误代码。
脚本执行中会不会出现致命或解析错误,可能是在测试运行之后?
有没有PHP错误?如果添加error_reporting(E_ALL);会发生什么?
发布于 2010-11-25 23:14:23
可能'exec returned: 255‘是由CodeCoverage报告的内存消耗引起的,该报告将在启用error_reporting(E_ALL)后显示,如Pekka所述。也可以尝试使用init_set('display_errors','on');。通常你会面临一个‘内存大小...exhaused’致命的问题。
发布于 2011-02-16 11:24:51
在我的例子中,结果是我没有安装out服务器。安装nginx并将其设置为the服务器(即使我不使用它)解决了这个问题。
https://stackoverflow.com/questions/3319719
复制相似问题