0

任务是错误确实可以正确解释该问题。

错误:

在运行 Infection 之前,项目测试必须处于通过状态。
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/infection/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 框架 4.2

有没有人暗示我可以尝试什么或我的错误在哪里?

4

1 回答 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.MMMMM.MMMM.M.MMMMMMMM.MMMM.M (50 / 89) .....MM....... ..MMMMMM.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 问题,对我来说,如果我已经覆盖了我的 phpdbg 的新 php.ini/etc/php/7.3/phpdbg/php.ini

我希望这里的这篇文章再次对其他人有所帮助。我不先删除它。也许有一天另一个模式。

于 2019-11-27T15:42:41.273 回答