为了账号安全,请及时绑定邮箱和手机立即绑定

如何在原始 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 关注
  • 110 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信