我正在嘗試編寫一個函數的單元測試,該函數立即從使用函數的輸入作爲參數的不同類中加載對象。我是新的PHP單元測試,並找不到解決我的特定問題的任何事情。我有一些導致無濟於事的線索是使用注射器,並試圖給我們一個反思。PHP單元測試來自不同類的外部靜態方法調用
的代碼我試圖寫一個單元測試是:
public static function isUseful($item) {
$objPromo = MyPromoCodes::Load($item->SavedSku);
if (!is_null($objPromo)
&& ($objPromo->PromoType == MyPromoCodes::Interesting_Promo_Type)) {
return true;
}
return false;
}
我在嘲笑這一點的嘗試:
public function testIsUseful() {
$injector = $this->getMockBuilder('MyPromoCodes')
->setMethods(array('Load'))
->getMock();
$objPromo = $this->getMock('MyPromoCodes');
$objPromo->PromoType = 'very interesting promo type';
$injector->set($objPromo, 'MyPromoCodes');
$lineItem1 = $this->getDBMock('LineItem');
$this->assertTrue(MyClass::isUseful($lineItem1));
}
然而,這並不工作,因爲沒有固定的方法對於這個對象....
不知道還有什麼嘗試,任何幫助,將不勝感激。
你可以看看反映。 https://secure.php.net/manual/en/book.reflection.php –