PHPUnit - 禁用 Mockery 中的原始构造函数

问题描述 投票:0回答:1

我想使用 Mockery 并更改此:

$mockFoo = $this->getMockBuilder('Foo')
        ->disableOriginalConstructor()
        ->getMock();

对此:

$mockFoo = m::mock('Foo');

但我不知道如何禁用 Mockery 中的原始构造函数。如果可以,请你帮助我。 :-)

constructor mocking phpunit mockery
1个回答
8
投票

如果没有指定参数,Mockery 不会调用构造函数:

\Mockery::mock('MyClass');

更新: 上面的答案与早期版本的 Mockery 相关。在当前版本中,必须使用部分测试双打:

$mock = \Mockery::mock('MyClass')->makePartial();
$mock->shouldReceive('foo');

请参阅官方文档了解更多信息。学分归northerner

© www.soinside.com 2019 - 2024. All rights reserved.