好的,這裏的情況。我使用Doctrine 2和PHPUnit。 我有一個產品列表,每個產品都有一個類別。我想測試findByCategory()方法,它顯然應該返回特定類別的產品列表。Doctrine 2 - 功能測試
非常簡單,但我不知道如何正確測試。在網絡上的一些地方,我看到這樣只是簡單的例子:
$this->assertEquals(4, count($foundProducts));
所以這只是測試返回結果的數量,而不是實際的數據。 我也試過這樣:
foreach($allFoundProducts as $i=>$foundProduct) {
$this->assertEquals($products[$i], $foundProduct);
}
其中$產品是實體的名單,我之前的搜索依然存在。 但它需要花費很多時間才能完成,有時甚至崩潰(內存不足)。
請指教我使用這種方法進行數據庫測試。
非常感謝!
你的意思是通過[簡單條件]查詢(http://doctrine-orm.readthedocs.org/en/2.0.x/reference/working-with-objects.html#by-simple-conditions)? – manix
我的意思是用phpunit進行功能測試。如何更方便地測試存儲庫方法。這可能是快捷方式或自定義,無所謂。 –
如您所示,比較從DB返回的值與預期的字符串數組是顯而易見的方法。我認爲你需要擴展你的問題來解釋爲什麼這不好。爲什麼「需要花費很多時間才能完成」?如果它有時會崩潰,錯誤消息是什麼?在phpUnit或Doctrine中崩潰了嗎? –