任务是该错误确实使机器程序正确地解释了该问题。
错误:
运行Infection之前,项目测试必须处于通过状态。感染以随机顺序运行测试套件。确保您的测试没有隐藏的依赖项。
您可以将这些属性添加到
phpunit.xml
进行检查:如果不想让Infection以随机顺序运行测试,请将
executionOrder
设置为某个值,例如检查执行的命令以识别问题:'/usr/bin/php7.2''-d''zend_extension = xdebug.so''/ mnt / e / dev / bin / phpunit''--configuration ''/ mnt / e / dev / var / infection /fection / phpunitConfiguration.initial.infection.xml''-vvv'PHPUnit报告退出代码为143。请参阅下面的PHPUnit输出:STDERR:
无法加载Xdebug-它已经被加载
我尝试执行以下语句很简单:
vendor/bin/infection --threads=10 --only-covered
但是当我尝试解释该错误的语句时,测试将成功运行,但这只是我的单元测试,没有进行突变测试。
这是我的phpunit.xml.dist中的phpunit标记的摘要
<phpunit .... backupGlobals="false" colors="false" bootstrap="/mnt/e/dev/RESTler/config/bootstrap.php" executionOrder="random" resolveDependencies="true" cacheResult="false" stopOnFailure="true" stderr="false" .../>
版本是:
有人提示我可以尝试什么,或者我的错误在哪里吗?
漫长的旅程之后,我发现了一些东西。但是不要为什么它不适合我的配置。
在我从xdebug.so
中删除php.ini
后,这对我来说是正确的说法>
infection --threads=10 --only-covered --initial-tests-php-options='-d zend_extension=xdebug.so'
我以为就足够了,但随后出现了memory_limit问题,可以用相同的方式修复它
infection --threads=10 --only-covered --initial-tests-php-options='-d zend_extension=xdebug.so -d memory_limit=-1'
现在运行,我有一些待办事项:)
.:被杀,M:逃脱,S:被发现,E:致命错误,T:超时
......... M..MMMMMMM.M.M.MMM.MMMM.M.MMMMMMMM.MMMM.M(50/89)..... MM ....... MMMMMMM.MMMM ....(89/89)
产生了89个突变:
45 mutants were killed 0 mutants were not covered by tests 44 covered mutants were not detected 0 errors were encountered 0 time outs were encountered
指标:
Mutation Score Indicator (MSI): 50% Mutation Code Coverage: 100% Covered Code MSI: 50%
[如果有人使用
phpdbg
而不是xdebug
并遇到了memory_limit问题,对我来说,如果我在/etc/php/7.3/phpdbg/php.ini
中覆盖了phpdbg的新php.ini,则它可以正常工作)>我希望这里的帖子再次帮助其他人。我不会先删除它。也许有一天另一种模式。