我正在使用一些特殊的PHP框架。由于某些原因(例如PHPunit或代码接收),我无法使用任何单元测试框架。所以我需要编写我的自定义代码来实现。有没有什么例子可以完成这项工作?
我可以使用此方法代替框架吗?
public function testFailure()
{
$a = 1; $b = 0;
if($a !=== b){
//throw exception here
}
}
相反-
public function testFailure()
{
$this->assertEquals(1, 0); //return false
}
答案 0 :(得分:1)
绝对最简单的方法几乎就是您上面编写的内容(尽管代码不是真的有效)。在断言上引发异常,您将拥有有效的单元测试方法!
现在,我想您可能可以使用phpunit weather之类的东西,也可以不使用某些自定义代码,但是我只会在让您知道的情况下继续这样做。
也:
!===
无效,!==
会更正确!
此外,我建议您为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);