感染会引起大量分泌,但是为什么以及如何处理?

问题描述 投票:0回答:1

任务是该错误确实使机器程序正确地解释了该问题。

错误:

运行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" .../>

版本是:

  • PHPUnit版本:7.5.15
  • PHP 7.2.22-1 + ubuntu18.04.1 + deb.sury.org + 1
  • 感染-PHP变异测试框架0.14.2
  • Symfony Framework 4.2

有人提示我可以尝试什么,或者我的错误在哪里吗?

php phpunit symfony4 mutation-testing infection
1个回答
0
投票

漫长的旅程之后,我发现了一些东西。但是不要为什么它不适合我的配置。

在我从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,则它可以正常工作)>

我希望这里的帖子再次帮助其他人。我不会先删除它。也许有一天另一种模式。

© www.soinside.com 2019 - 2024. All rights reserved.