gpt4 book ai didi

unit-testing - 如何使用 phpunit 对无效参数进行单元测试?

转载 作者:行者123 更新时间:2023-12-04 23:26:13 26 4
gpt4 key购买 nike

我只是在学习单元测试。这个php代码

class Foo {
public function bar($arg) {
throw new InvalidArgumentException();
}
}

...
class FooTest extends PHPUnit_Framework_TestCase {
public function testBar() {
$this->setExpectedException('InvalidArgumentException');
$dummy = Foo::bar();
}
}

失败 Failed asserting that exception of type "PHPUnit_Framework_Error_Warning" matches expected exception "InvalidArgumentException".来自 phpunit。如果在 Foo::bar() 中放置任何值测试然后它当然可以按预期工作。有没有办法测试空参数?还是我错误地尝试为不应该在单元测试范围内的东西创建测试?

最佳答案

你不应该测试这种情况。单元测试的目的是确保被测类根据其“契约”执行,这是它的公共(public)接口(interface)(函数和属性)。你试图做的是打破契约(Contract)。正如您所说,它超出了单元测试的范围。

关于unit-testing - 如何使用 phpunit 对无效参数进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12464145/

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