我正在学习单元测试。这段 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();
}
}
使用phpunit时,执行Failed asserting that exception of type "PHPUnit_Framework_Error_Warning" matches expected exception "InvalidArgumentException"
导致失败。如果在Foo::bar()
测试中放置任何值,则它会按预期工作。有没有一种方法可以测试空参数?或者我是错误地尝试创建一个不应该在单元测试范围内的测试?
bar()
应该声明为static
,因为您在没有$this
的情况下调用它。 - yegor256