關於phpunit斷言的問題

來源:互聯網
上載者:User
請問使用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沒有接觸過
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.