我正在使用一些特殊的 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);
- 1 回答
- 0 關注
- 122 瀏覽
添加回答
舉報
0/150
提交
取消