PHPUnit模拟函数是否仍然非常有用,因为我们可以在PHP7中使用匿名类?

时间:2017-01-23 21:44:28

标签: php unit-testing mocking phpunit php-7

我在PHPUnit中很新,并重写我的老式单元测试以使用它。 我认识到框架的附加价值,使测试更具可读性,更简单,生成报告,自动化...但我仍然对模拟/存根功能存在分歧。它们是否真的有用,因为我们可以在PHP7中使用匿名类?

例如,是:

$stub = $this->createMock(SomeClass::class);
$stub->method('doSomething')
    ->willReturn('foo');

真的应该比以下更优雅/可读/简单:

$stub = new class extends SomeClass {
    protected function doSomething() { return 'foo'; }
};

在我看来,对于不了解框架的开发人员来说,第二个命题更具可读性和可访问性。

是否还有充分的理由使用此功能?

换句话说,我可以用PHPUnit的模拟/存根函数做些什么我不能使用匿名类吗?或者是偏好/用例问题?

0 个答案:

没有答案