Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PhpUnit被随机卡住60秒_Php_Unit Testing_Phpunit - Fatal编程技术网

PhpUnit被随机卡住60秒

PhpUnit被随机卡住60秒,php,unit-testing,phpunit,Php,Unit Testing,Phpunit,有一个带有测试套件的Laravel应用程序,可以在大约3分钟内完全运行 大约2分钟左右,测试冻结约60094毫秒。每次都是不同的测试,因此它似乎与任何特定的测试无关 所有的测试都没有失败,他们只是经历了这种奇怪的延迟。 是什么导致PhpUnit延迟60秒 You should really fix these slow tests (>200ms)... 1. 60094ms to run Tests\Feature\Superadmin\BusinessActivityTest:tes

有一个带有测试套件的Laravel应用程序,可以在大约3分钟内完全运行

大约2分钟左右,测试冻结约60094毫秒。每次都是不同的测试,因此它似乎与任何特定的测试无关

所有的测试都没有失败,他们只是经历了这种奇怪的延迟。 是什么导致PhpUnit延迟60秒

You should really fix these slow tests (>200ms)...
 1. 60094ms to run Tests\Feature\Superadmin\BusinessActivityTest:testDestroyBusinessActivityProductionProcess
 2. 3357ms to run Tests\Feature\AccessTokenTest:testOauthToken
 3. 1124ms to run Tests\Feature\Superadmin\ArticleTest:testUpdateArticleForAdmin
 4. 969ms to run Tests\Feature\VtaDocumentTest:testUploadVehiclesFileHappyPathWithFilePDF
 5. 737ms to run Tests\Feature\VtaDocumentTest:testUploadCertificateFilePDF
...and there are 22 more above your threshold hidden from view
Time: 2.46 minutes, Memory: 144.25MB
操作系统phpunit版本 phpunit-v Sebastian Bergmann和贡献者编写的PHPUnit 7.3.0。 运行时:php7.3.5-1+ubuntu18.04.1+deb.sury.org+1和Xdebug 2.7.1

问题也在这里 供应商/bin/phpunit——版本 PHPUnit 7.5.2由塞巴斯蒂安·伯格曼和贡献者编写

<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         bootstrap="vendor/autoload.php"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         processIsolation="false"
         stopOnFailure="false">
    <testsuites>
        <testsuite name="Feature">
            <directory suffix="Test.php">./tests/Feature</directory>
        </testsuite>

        <testsuite name="Unit">
            <directory suffix="Test.php">./tests/Unit</directory>
        </testsuite>
    </testsuites>
    <filter>
        <whitelist processUncoveredFilesFromWhitelist="true">
            <directory suffix=".php">./app</directory>
        </whitelist>
    </filter>
    <php>
        <env name="APP_ENV" value="testing"/>
        <env name="DB_DATABASE" value="testing"/>
        <env name="BCRYPT_ROUNDS" value="4"/>
        <env name="CACHE_DRIVER" value="array"/>
        <env name="SESSION_DRIVER" value="array"/>
        <env name="QUEUE_DRIVER" value="sync"/>
        <env name="MAIL_DRIVER" value="array"/>
    </php>
    <listeners>
        <listener class="JohnKary\PHPUnit\Listener\SpeedTrapListener">
            <arguments>
                <array>
                    <element key="slowThreshold">
                        <integer>200</integer>
                    </element>
                    <element key="reportLength">
                        <integer>5</integer>
                    </element>
                </array>
            </arguments>
        </listener>
    </listeners>
</phpunit>

/测试/特性
/测试/单元
/应用
200
5.

关闭互联网避免了这个问题

在调试并获得卡住进程的堆栈跟踪后,在的帮助下发现线程被卡住在MixPanel代码中

[New LWP 2893]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f04c2136bf9 in poll () from /lib/x86_64-linux-gnu/libc.so.6
{main}@/usr/local/bin/phpunit:0
main@/usr/local/bin/phpunit:594
run@phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:159
doRun@phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:203
run@phar:///usr/local/bin/phpunit/phpunit/TextUI/TestRunner.php:587
run@phar:///usr/local/bin/phpunit/phpunit/Framework/TestSuite.php:750
run@phar:///usr/local/bin/phpunit/phpunit/Framework/TestSuite.php:750
run@phar:///usr/local/bin/phpunit/phpunit/Framework/TestSuite.php:750
run@phar:///usr/local/bin/phpunit/phpunit/Framework/TestCase.php:798
runBare@phar:///usr/local/bin/phpunit/phpunit/Framework/TestResult.php:665
tearDown@phar:///usr/local/bin/phpunit/phpunit/Framework/TestCase.php:887
flush@/app/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:142
flush@/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:1152
__destruct@/app/vendor/laravel/framework/src/Illuminate/Container/Container.php:1174
flush@/app/vendor/mixpanel/mixpanel-php/lib/Producers/MixpanelBaseProducer.php:96
_persist@/app/vendor/mixpanel/mixpanel-php/lib/Producers/MixpanelBaseProducer.php:117
persist@/app/vendor/mixpanel/mixpanel-php/lib/Producers/MixpanelBaseProducer.php:217
_write@/app/vendor/mixpanel/mixpanel-php/lib/ConsumerStrategies/SocketConsumer.php:122
fwrite@/app/vendor/mixpanel/mixpanel-php/lib/ConsumerStrategies/SocketConsumer.php:210
此外,在MixPanel中创建新用户的事件导致事件被发送


现在,测试已与MixPanel正确地解耦,不再有突然的延迟。

关闭互联网避免了这个问题

在调试并获得卡住进程的堆栈跟踪后,在的帮助下发现线程被卡住在MixPanel代码中

[New LWP 2893]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
0x00007f04c2136bf9 in poll () from /lib/x86_64-linux-gnu/libc.so.6
{main}@/usr/local/bin/phpunit:0
main@/usr/local/bin/phpunit:594
run@phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:159
doRun@phar:///usr/local/bin/phpunit/phpunit/TextUI/Command.php:203
run@phar:///usr/local/bin/phpunit/phpunit/TextUI/TestRunner.php:587
run@phar:///usr/local/bin/phpunit/phpunit/Framework/TestSuite.php:750
run@phar:///usr/local/bin/phpunit/phpunit/Framework/TestSuite.php:750
run@phar:///usr/local/bin/phpunit/phpunit/Framework/TestSuite.php:750
run@phar:///usr/local/bin/phpunit/phpunit/Framework/TestCase.php:798
runBare@phar:///usr/local/bin/phpunit/phpunit/Framework/TestResult.php:665
tearDown@phar:///usr/local/bin/phpunit/phpunit/Framework/TestCase.php:887
flush@/app/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestCase.php:142
flush@/app/vendor/laravel/framework/src/Illuminate/Foundation/Application.php:1152
__destruct@/app/vendor/laravel/framework/src/Illuminate/Container/Container.php:1174
flush@/app/vendor/mixpanel/mixpanel-php/lib/Producers/MixpanelBaseProducer.php:96
_persist@/app/vendor/mixpanel/mixpanel-php/lib/Producers/MixpanelBaseProducer.php:117
persist@/app/vendor/mixpanel/mixpanel-php/lib/Producers/MixpanelBaseProducer.php:217
_write@/app/vendor/mixpanel/mixpanel-php/lib/ConsumerStrategies/SocketConsumer.php:122
fwrite@/app/vendor/mixpanel/mixpanel-php/lib/ConsumerStrategies/SocketConsumer.php:210
此外,在MixPanel中创建新用户的事件导致事件被发送


现在,测试已与MixPanel正确地解耦,不再有突然的延迟。

您是否可以链接到任何代码?还是我真的对你的问题感到困惑?添加了样本测试结果。每次运行60000毫秒以上的测试都是不同的。测试在大致相同的位置花费的时间较长。您使用的是哪个Phpunit版本?是否有其他扩展用于PHPUnitest套件?添加了Phpunit版本和配置。删除SpeedTrapListener并不能避免60秒的等待。您是否尝试打开/跟踪您的test.log以查看是否可以在那里找到任何有用的信息?是否可以链接到任何代码?还是我真的对你的问题感到困惑?添加了样本测试结果。每次运行60000毫秒以上的测试都是不同的。测试在大致相同的位置花费的时间较长。您使用的是哪个Phpunit版本?是否有其他扩展用于PHPUnitest套件?添加了Phpunit版本和配置。删除SpeedTrapListener并不能避免60秒的等待。您是否尝试打开/跟踪您的test.log以查看是否可以在那里找到任何有用的信息?