我想测试一个方法。此方法在抽象类中使用静态方法verifyPassword()。
class Authentication {
...
public function onUserAuthenticate($credentials) {
….
$checkedIn = UHelper::verifyPassword($credentials);
…
}
现在我在我的测试方法中创建了一个模拟对象,因为我不想用此测试测试verifyPassword()。
class AuthenticationTest {
..
public function testonUserAuthenticate {
...
$uhelper = $this->getMockForAbstractClass(\UHelper::class);
$uhelper->expects($this->any())
->method('verifyPassword')
->with($mypassword)
->will($this->returnValue(true));
$this->class = new \Authentication();
$this->class->onUserAuthenticate($credentials);
..
}
当我运行$ this-> class-> onUserAuthenticate($ credentials)时,我怎么能完成我的模拟对象用于测试方法?
verifyPassword是对抽象类UHelper中静态方法的调用,所以我在任何地方都没有setUHelper方法。
我试图做的是在方法调用onUserAuthenticate时使用stub $ uhelper进行变量类认证。在相关问题中没有回答。