我有一個類的形式是這樣的:如何測試一個類的構造函數帶有一些參數的方法?
class A{
public function __constructor(classB b , classC c){
//
}
public function getSum(var1, var2){
return var1+var2;
}
}
我的測試用例類是這樣的:
use A;
class ATest extends PHPUnit_Framework_TestCase{
public function testGetSum{
$a = new A();
$this->assertEquals(3, $a->getSum(1,2));
}
}
然而,當我運行PHPUnit的,它拋出像一些錯誤:
Missing argument 1 for \..\::__construct(), called in /../A.php on line 5
即使我提供的參數,它會拋出相同的錯誤,但在不同的文件。
說,我通過實例 $a = new A(new classB(), new classC());
然後,我得到同樣的錯誤CLASSB的構造函數(CLASSB的構造函數有類似的形式到A的)。
Missing argument 1 for \..\::__construct(), called in /../B.php on line 10
是否有任何其他的方式,我可以測試我丟失的功能什麼的。
我不想通過使用模擬(getMockBuilder(),setMethods(),getMock())進行測試,因爲它似乎違背了單元測試的全部目的。
PHPUnit的 – Eli
的設置方法試試吧「即使我提供了參數,也會引發錯誤。「它不應該。在PHPunit類中創建對象應該與在其他地方創建對象沒有區別。你的問題聽起來像是對象的構造函數本身,而不是PHPunit。 –
@WillemRenzema,我也有同感。但無法解決它。 – sunil