PHPUnit严格模式-如何更改默认超时

PHPUnit严格模式-如何更改默认超时,php,timeout,phpunit,Php,Timeout,Phpunit,我希望继续在严格模式下运行我的单元测试,这样我就可以很容易地知道任何异常长的测试,但同时默认超时1s是不够的。我可以为所有测试更改它吗?我知道我可以使用@short/@medium/@long注释为每个类(和单个测试)设置超时,但是所有测试都有类似的设置吗?可能在phpunit.xml中 这是为了避免PHP\u Invoker\u TimeoutException:执行在1秒后中止,这种情况偶尔发生一次。可以通过在phpunit.xml中设置想要的时间来启用该选项。时间以秒为单位 例如: <

我希望继续在严格模式下运行我的单元测试,这样我就可以很容易地知道任何异常长的测试,但同时默认超时1s是不够的。我可以为所有测试更改它吗?我知道我可以使用
@short/@medium/@long
注释为每个类(和单个测试)设置超时,但是所有测试都有类似的设置吗?可能在phpunit.xml中


这是为了避免
PHP\u Invoker\u TimeoutException:执行在1秒后中止,这种情况偶尔发生一次。

可以通过在phpunit.xml中设置想要的时间来启用该选项。时间以秒为单位

例如:

<phpunit
    strict="true"
    timeoutForSmallTests="1"
    timeoutForMediumTests="5"
    timeoutForLargeTests="10"
>
 // test suites
</phpunit>
编辑:不再执行这些超时操作,并且通常通过为每件事引入单独的标志来更改严格模式的行为:


不相关的警告:它还将XML配置中的测试路径更改为相对于XML配置文件,而不是旧的默认路径是相对于当前工作目录。

或者,您也可以在setUp()方法中设置它们,如下所示:

$this->getTestResultObject()->setTimeoutForSmallTests(1);
$this->getTestResultObject()->setTimeoutForMediumTests(5);
$this->getTestResultObject()->setTimeoutForLargeTests(10);

可能重复:我已经看过了,但它没有回答如何全局更改此设置-不编辑PHPUnit源代码,这是我希望避免的。您只能从PHPUnit.xml执行此操作。据我所知,PHPUnit没有全局配置文件。因此,在保持严格模式打开的同时,如何更改默认超时?从接受的答案中,将timeoutForSmallTests设置为所需的值。它转到其他配置值(严格模式,例如:P)所在的标题。
beStrictAboutTestsThatDoNotTestAnything="true"
checkForUnintentionallyCoveredCode="true"
beStrictAboutOutputDuringTests="true"
beStrictAboutTestSize="true"
beStrictAboutChangesToGlobalState="true"
$this->getTestResultObject()->setTimeoutForSmallTests(1);
$this->getTestResultObject()->setTimeoutForMediumTests(5);
$this->getTestResultObject()->setTimeoutForLargeTests(10);