我正在使用一些特殊的 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 关注
- 110 浏览
添加回答
举报
0/150
提交
取消