亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在原始 PHP 中定義和編碼自定義單元測試?

如何在原始 PHP 中定義和編碼自定義單元測試?

PHP
嚕嚕噠 2021-08-28 14:45:11
我正在使用一些特殊的 PHP 框架。由于某些原因,例如 PHPunit 或 codeception,我無法使用任何單元測試框架。所以我需要編寫我的自定義代碼來實現這一點。有沒有什么例子可以完成這項工作?我可以使用這種方法而不是使用框架嗎?    public function testFailure()    {       $a = 1; $b = 0;       if($a !=== b){          //throw exception here       }    }反而-    public function testFailure()    {        $this->assertEquals(1, 0); //return false    }
查看完整描述

1 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

絕對最簡單的方法幾乎就是你上面寫的(盡管代碼不是真的有效)。對斷言拋出異常,您就有了一種有效的單元測試方式!


現在,我認為您可能會使用諸如 phpunit 天氣之類的東西,或者您是否使用了一些自定義代碼,但除了讓您知道之外,我不會繼續推動這一點。


還:


!===無效,!==會更正確!


此外,我建議您為自己的assertions而不是上述方法創建某種類型的靜態或全局方法,這樣您就可以輕松地重用異常拋出代碼,而不是一遍又一遍地編寫相同的代碼:


// assert.php

class Assert {

  public static function isEqual($a, $b) {

    if ($a != $b) {

      throw new MyAssertionException('Not equal!');

    }

    return true;

  }


  public static function isSame($a, $b) {

    if ($a !== $b) {

      throw new MyAssertionException('Not same!');

    }

    return true;

  }


}


---


// test.php

include_once 'assert.php';


Assert::isEqual(1, 2);


查看完整回答
反對 回復 2021-08-28
  • 1 回答
  • 0 關注
  • 122 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號