Phpunit 使用专用生成函数创建模拟对象失败
我正在使用PHPUnit自动测试我的应用程序,到目前为止它运行良好。但现在我有一个问题:Phpunit 使用专用生成函数创建模拟对象失败,phpunit,mockery,Phpunit,Mockery,我正在使用PHPUnit自动测试我的应用程序,到目前为止它运行良好。但现在我有一个问题: 我有一些测试,比如说50次。在所有这些测试中,我都想使用mockery,因为我每次都需要相同的对象,所以我尝试将mock对象的创建重构为一个私有函数,并在每个测试中调用它。但是我不能让它工作。 我的私有构建函数如下所示: private function createMyMocks() { $person = $this->getMockBuilder(Person::class)->get
我有一些测试,比如说50次。在所有这些测试中,我都想使用mockery,因为我每次都需要相同的对象,所以我尝试将mock对象的创建重构为一个私有函数,并在每个测试中调用它。但是我不能让它工作。
我的私有构建函数如下所示:
private function createMyMocks() {
$person = $this->getMockBuilder(Person::class)->getMock();
$car = $this->getMockBuilder(Car::class)
->setMethods(['getDriver'])
->getMock();
$car->expects($this->once())
->setMethod('getDriver')
->willReturn($person);
return $car;
}
所有这些测试是在同一个文件中还是有不同的文件?你能不能至少包含一个调用这个函数的测试?你已经用这个问题做了标记,但是看起来你在使用PHPUnit的模拟功能。你打算用哪一种?使用mockry,您可以执行如下操作:
$car=\mockry::mock(car::class)$car->shouldReceive('getDriver')->andReturn($person)代码>。