請問使用phpunit測試或其它架構進行測試,它們有好多斷言方式,
但是如果測試人員全部用assertTrue 來實現斷言會不會有什麼後果?
我想測試還是能正常運行並判斷出是否符合斷言的
但影響的細節可能會出現在產生的報告裡無法明確表達斷言結果
比如要斷言一個數組是否有ab鍵,則用
assertTrue(isset($arr['ab']))
但根據官方提供的斷言方法應該用
assertArrayHasKey($arr['ab'])
下面是一些典型的例子:
assertTrue($x==1)
assertTrue(is_array($x))
assertTrue(empty($x));
assertTrue(is_object($x));
assertTrue(count($x) == 100);
$ids = getIds();
$flag = true;
foreach($ids as $id){
if(!is_nmerical($id)){
$flag = false;
}
}
assertTrue($flag);
..........
.........
看著總感覺哪裡不對勁,如果都能true解決看似沒問題,然而實際上xUnit系統測試架構為何又提供了那麼多的斷言方法?
如果都用true來斷言的後果是什麼呢
回複討論(解決方案)
為了更直觀的看到是什麼錯誤
來 上兩張對比圖 一張 全是true斷言 你能快速定位那地方出問題了嗎?
一張是各種形式的斷言
為了更直觀的看到是什麼錯誤
來 上兩張對比圖 一張 全是true斷言 你能快速定位那地方出問題了嗎?
一張是各種形式的斷言
謝謝,果然是影響了測試報告的精確性
另外請問你知道codeception這個測試架構嗎?我想找人請教一下這個架構的具體,官網文檔初步看了做了,但深入點的還摸不透,主要結合yii2來做
為了更直觀的看到是什麼錯誤
來 上兩張對比圖 一張 全是true斷言 你能快速定位那地方出問題了嗎?
一張是各種形式的斷言
謝謝,果然是影響了測試報告的精確性
另外請問你知道codeception這個測試架構嗎?我想找人請教一下這個架構的具體,官網文檔初步看了做了,但深入點的還摸不透,主要結合yii2來做
sorry 用simpletest和phpunit codeception沒有接觸過