PHPUnit在空缓存上运行超时
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHPUnit在空缓存上运行超时相关的知识,希望对你有一定的参考价值。
我正在尝试使用phing创建构建过程。在这个过程中,我想运行作曲家安装脚本和phpunit,它由作曲家安装
在我的构建文件中,我有2个目标。
<target name="composer">
<composer command="install" composer="./composer.phar" />
<autoloader autoloaderpath="./vendor/autoload.php" />
</target>
<target name="phpunit" depends="composer">
<if>
<os family="windows" />
<then>
<property name="phpunit.executable" value="phpunit.bat" />
</then>
<else>
<property name="phpunit.executable" value="phpunit" />
</else>
</if>
<exec executable="vendor/bin/${phpunit.executable}"
dir="${project.basedir}" level="debug"
returnProperty="phpunit.return">
<arg line="--configuration" />
<arg file="${project.basedir}/phpunit.xml" />
</exec>
</target>
composer.phar和phpunit.xml在我的项目基础中。现在,如果我运行phpunit目标,我可以看到在需要时检查和安装依赖项。但PHPUnit只返回
Sebastian Bergmann和贡献者的PHPUnit 5.7.21。
就是这样。实际上没有测试。似乎永远不会读取配置文件。
如果我从phpunit目标中删除依赖项然后运行,则实际完成测试并创建日志和覆盖率报告。我正在使用exec而不是phpunit任务,因为phings代码覆盖似乎在命名空间中的反斜杠有问题。
这实际上是一个Symfony项目和调用
bin/console cache:warmup -e test
解决了这个问题
虽然在composer安装之后从命令行调用PHPUnit实际上运行了测试。
在phing或PHPUnit中我可以在哪里更改超时吗? php的最大执行时间设置为0。
如何调整build.xml
来创建一个预热缓存的任务:
<target name="cache-warmup">
<exec command="bin/console cache:warmup -e test" />
</target>
然后让phpunit
任务也依赖于该任务:
<target name="phpunit" depends="composer cache-warmup">
...
</target>
从Phing 3.x开始,你也可以使用SymfonyConsoleTask
<project name="symfony-cmd" default="phpunit" basedir=".">
<target name="setup">
<composer command="install" composer="./composer.phar" />
<autoloader autoloaderpath="./vendor/autoload.php" />
<symfonyconsole console="./bin/console" command="cache:warmup">
<arg name="env" value="test" />
</symfonyconsole>
</target>
<target name="phpunit" depends="setup">
<!-- ... -->
</target>
</project>
以上是关于PHPUnit在空缓存上运行超时的主要内容,如果未能解决你的问题,请参考以下文章
在 laravel 4.2 项目上运行具有代码覆盖率的 phpunit 时的空目录
在空对象引用Error上获取'getActivity()。getApplication()'
尝试在空对象引用上调用虚拟方法“void androidx.recyclerview.widget.RecyclerView.setLayoutManager()”