2012-02-12 68 views
1

好的,也許我沒有得到這個權利。我是單元測試新手。 但我想測試這樣的事情:如何在Zend Framework中使用PHPUnit測試變量

我有一個行動,顯示用戶在當天做的門票。 我想作出斷言,將檢查是否: 如果有0票,那麼消息說「今天沒有票」,如果有>票票數超過系統顯示錶。 我知道如何檢查視圖是呈現消息還是呈現表格,但是如何在測試中創建「if」?是這樣的:

<code> 
if(count($tickets > 0) { 
$this->assertQuery('table'); 
} else { 
$this->assertQueryContentContains('#message', 'No tickets for today'); 
} 
</code> 

我沒有得到如何做一個stubb數據或從行動中獲得某個變量的值。

+2

通常情況下,你會想要兩個單獨的測試:一個發現沒有票和其他發現一些。設置假數據或模擬對象,以便您可以同時執行這兩個操作。 – 2012-02-12 23:02:34

回答

2

你不應該在單元測試中有任何邏輯。單元測試中的邏輯問題是它通常反映了測試代碼中的邏輯,這幾乎殺死了單元測試的目的。

相反,你想模擬條件爲每個測試(並在你的情況下,你至少需要兩個),並驗證是否符合測試的期望。除非$tickets檢索是複雜的過程(它應該被嘲笑),模擬條件在你的情況下將簡單地將$tickets設置爲適當的值。

相關問題