Unit testing 在类中模拟单个函数仍在运行该函数-Phpunit 8.2
我试图模拟在我的一个测试中调用的函数。它检查配置并发出调用,但对于单元测试,我们不设置配置值或允许调用代码 使用需要模拟的函数初始化Unit testing 在类中模拟单个函数仍在运行该函数-Phpunit 8.2,unit-testing,phpunit,Unit Testing,Phpunit,我试图模拟在我的一个测试中调用的函数。它检查配置并发出调用,但对于单元测试,我们不设置配置值或允许调用代码 使用需要模拟的函数初始化 class MyClass { public __constructor($a, $b){ //some code } public function functionA($a){ //some code $this->functionThatNeedsMock($value); }
class MyClass {
public __constructor($a, $b){
//some code
}
public function functionA($a){
//some code
$this->functionThatNeedsMock($value);
}
public function functionThatNeedsMock($b){
//throws error if config is missing or if it can't reach the external website
return $aString;
}
}
单元测试:
$stub = $this->createMock(MyClass::class);
$stub->method('functionThatNeedsMock')->willReturn('abc');
$uri = 'uri/here';
$response = $this->asWebUser($user, new WebEndpointConfigure())->postJson($uri, ["message" => "foo"]);
$this->assertResponseOk($response);
我只想绕过整个函数,每当在测试中调用该函数时,我希望它只使用返回字符串的mock,而不实际运行该函数
我们在使用8.2的phpunit方面落后了