也许我没有得到什么,但我在任何地方都找不到如何更改特定目标的执行目录。
这是我的设置:
project
│ composer.json
│ build.xml
└───htdocs
│ phpunit.xml
├───app
│ │ bootstrap.php
│ │ ...
我在项目文件夹中运行phing
,但由于phpunit的引导程序中的具体情况,我需要bootstrap.php中的getcwd()
来解析为htdocs
。
目前,我尝试在exec
中添加cd
,但这似乎不起作用。
<target name="phpunit" description="Run unit tests" depends="install">
<!-- move to app root before running tests -->
<exec logoutput="true" command="cd ${app}" />
<phpunit haltonfailure="false"
haltonerror="false"
printsummary="true"
codecoverage="true">
<formatter type="xml" todir="${project.basedir}/build/logs"/>
</phpunit>
<!-- Move back to project root -->
<exec logoutput="true" command="cd ${project.basedir}" />
</target>
Phing(改变当前目录)中有这样的概念吗?或者有其他可能的解决方案来改变getcwd()
在phpunit的引导程序中的工作方式吗?
您可以尝试使用从htdocs执行phing
phing -f ../build.xml phpunit
查找build.xml示例:
<project name="Test" basedir="." default="list">
<target name="list">
<getcwd />
</target>
<adhoc-task name="getcwd"><![CDATA[
class GetcwdTask extends Task {
function main() {
print(getcwd());
}
}
]]></adhoc-task>
</project>