有沒有辦法在測試類的構造函數/類的setUp函數中創建一個模擬,以便模擬可用於所有測試方法?嘲笑 - 在構造函數中創建一個模擬
我試圖像創建在構造函數中:
public class testMocks extends PHPUnit_Framework_TestCase {
protected $mock;
public function __construct()
{
$this->mock = Mockery::mock('myMockedClass');
}
...
但是,這是行不通的。如果第一次測試通過,那麼即使應用程序失敗(即運行shouldreceive應該失敗),模擬的所有測試也會通過。有任何想法嗎?
好吧,我已經使用安裝以及使用構造函數,但要確保我調用父類的構造嘗試。兩者都不適合我。 – BIOS
看到我編輯的文章,我認爲這可能是你的問題的原因。 –
不幸的不是。我正在使用tearDown,比如你的例子:(嘗試自己測試一下,在你的設置中創建一個類的模擬,並運行兩個測試,兩個測試都聲稱模擬應該接收一個方法調用,做第一遍並寫第二個測試,對模擬的斷言應該失敗(即期望方法被調用10次,但只調用一次)對於我來說,兩個測試都通過了,如果第一次測試通過,下一次測試通過,我原以爲這是非常普遍的事情 – BIOS