gpt4 book ai didi

php - 为什么我的单元测试通过 Hudson/Phing 失败,但通过命令行上的 Phing 成功?

转载 作者:可可西里 更新时间:2023-10-31 23:34:51 26 4
gpt4 key购买 nike

一般信息:

PHP 5.3.3
PHPUnit 3.4
Zend 框架 1.10.8

Phing 构建目标

 <target name="test">
<echo msg="PHPUnit..." />
<phpunit codecoverage="false" haltonfailure="true" haltonerror="true" printsummary="true" bootstrap="${testdir}/application/bootstrap.php">
<batchtest>
<fileset dir="${testdir}">
<include name="**/*Test.php" />
<exclude name="./application/ControllerTestCase.php" />
<exclude name="./application/bootstrap.php" />
</fileset>
</batchtest>
<formatter type="xml" todir="${builddir}" outfile="phpunit-results.xml" />
</phpunit>
<phpunitreport infile="${builddir}/phpunit-results.xml"
styledir="${phpunit.styles.dir}"
format="frames"
todir="${builddir}" />
</target>

这有效...

phing -f build.xml test

hudson /Phing

我在 Hudson 中列出的 Phing 目标使用相同的 build.xml 文件,但无法正常工作。对于每个单元测试,我都会遇到相同类型的错误(strpos():空定界符),只要执行 $this->dispatch(..url..) 就会发生这种错误。

在 Hudson 中执行单元测试目标时在控制台输出中发生

'strpos(): Empty delimiter' in /opt/phing/classes/phing/tasks/ext/phpunit/PHPUnitTask.php:279

在 PHPUnit 结果 XML 文件中

strpos(): Empty delimiter

/opt/zend/library/Zend/Controller/Request/Http.php:504
/opt/zend/library/Zend/Controller/Request/Http.php:551
/opt/zend/library/Zend/Controller/Request/Http.php:615
/opt/zend/library/Zend/Test/PHPUnit/ControllerTestCase.php:187
/var/lib/hudson/.hudson/jobs/IPS/workspace/trunk/tests/application/IndexControllerTest.php:6
/opt/phing/bin/phing.php:37

任何人都可以阐明这一点吗?

最佳答案

从技术上讲,我解决了这个问题,但决定不通过 Hudson Phing 目标运行 PHPUnit。相反,我决定在 Hudson 中运行一个 shell 命令,目前它可以很好地满足我们的需要。如果有人有任何其他想法,我会洗耳恭听。谢谢!

关于php - 为什么我的单元测试通过 Hudson/Phing 失败,但通过命令行上的 Phing 成功?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3808291/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com