gpt4 book ai didi

phpunit - 如何让 PHPUnit 解释弃用和警告?

转载 作者:行者123 更新时间:2023-12-03 07:55:29 33 4
gpt4 key购买 nike

我刚刚学习如何使用 PHPUnit。我从命令行运行它,在结果中我得到OK,但是有问题!测试:5,断言:15,警告:2,弃用:5。

我不知道如何让它解释导致弃用和警告计数的原因。 如何找出测试代码中导致此问题的原因?我尝试添加标志 --display-deprecations 但它没有改变任何内容。

我正在使用标志 --testdox--stderr-v 但它们没有帮助。我尝试过 --debug--verbose 但它说它们都不受支持的标志。

我如何知道我的代码中存在什么问题?趁着这个机会,我不妨问问大家。这是我的测试代码:

final class FetchForErrorsTest extends TestCase
{
/**
* @dataProvider urlsForBasicTest
*/
public function testNoErrors($url)
{
$rr = new RequestResponse(TestConf::$rootUrl.'/'.$url);
$body = $rr->get();
$this->assertStringEndsWith('</html>', rtrim($body));
$this->assertEquals($rr->status, 200);
}
public static function urlsForBasicTest()
{
return [
['index.php'],
...
];
}
}

我还收到以下内容的弃用和警告警报,但没有任何进一步的解释:

final class DIContainerTest extends TestCase
{
public static $di;
public static $foo;
public static function setUpBeforeClass(): void
{
self::$di = new DIContainer();
self::$di->register(
["Bar", "BarInterface"],
"Bar", 'singleton'
);
self::$di->register(
["Foo", "FooInterface"],
"Foo"
);
}
public function testCalledFactory()
{
self::$foo = self::$di->call("FooInterface::make");
$this->assertEquals(get_class(self::$foo), "Foo");
}
public function testRecursivelyInstantatedConcretes()
{
self::$foo = self::$di->call("FooInterface::make");
$this->assertEquals(get_class(self::$foo->bar), "Bar");
}
}

如果能找到一种方法来更明确地说明弃用和警告的内容,那就太好了。

谢谢

最佳答案

您需要配置 phpunit.xml 文件来自定义它如何处理警告、弃用等。这通常位于项目的根目录中。

它看起来像这样,你可以通过多种方式配置它,我只是在这里选择了一些选项,请查看https://docs.phpunit.de/en/10.1/configuration.html处的文档。对于所有选项。

<?xml version="1.0" encoding="UTF-8"?>
<phpunit
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
displayDetailsOnTestsThatTriggerDeprecations="true"
displayDetailsOnTestsThatTriggerErrors="true"
displayDetailsOnTestsThatTriggerNotices="true"
displayDetailsOnTestsThatTriggerWarnings="true"
strict="true"
>
</phpunit>

关于phpunit - 如何让 PHPUnit 解释弃用和警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76152966/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com