W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
?getMockForTrait()
? 方法返回一個使用了特定特質(zhì)(trait)的仿件對象。給定特質(zhì)的所有抽象方法將都被模仿。這樣就能對特質(zhì)的具體方法進行測試。
示例 8.18 測試特質(zhì)的具體方法
<?php declare(strict_types=1);
use PHPUnit\Framework\TestCase;
trait AbstractTrait
{
public function concreteMethod()
{
return $this->abstractMethod();
}
public abstract function abstractMethod();
}
final class TraitClassTest extends TestCase
{
public function testConcreteMethod(): void
{
$mock = $this->getMockForTrait(AbstractTrait::class);
$mock->expects($this->any())
->method('abstractMethod')
->will($this->returnValue(true));
$this->assertTrue($mock->concreteMethod());
}
}
?getMockForAbstractClass()
? 方法返回一個抽象類的仿件對象。給定抽象類的所有抽象方法將都被模仿。這樣就能對抽象類的具體方法進行測試。
示例 8.19 測試抽象類的具體方法
<?php declare(strict_types=1);
use PHPUnit\Framework\TestCase;
abstract class AbstractClass
{
public function concreteMethod()
{
return $this->abstractMethod();
}
public abstract function abstractMethod();
}
final class AbstractClassTest extends TestCase
{
public function testConcreteMethod(): void
{
$stub = $this->getMockForAbstractClass(AbstractClass::class);
$stub->expects($this->any())
->method('abstractMethod')
->will($this->returnValue(true));
$this->assertTrue($stub->concreteMethod());
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: