bariew/yii2-doctest-extension

执行 @example docBlock 参数作为测试用例

安装次数: 3,031

依赖者: 2

建议者: 0

安全: 0

星标: 3

关注者: 3

分支: 1

开放问题: 0

类型:yii2-extension

2.2.5 2020-07-31 15:23 UTC

README

如果您没有时间编写测试。

描述

这个扩展是为了在无需编写测试的情况下进行测试。它做了几件事情。

  1. 它使用Curl访问您应用的所有页面(它也能找到它们),并提交所有找到的表单,以确保它们总体上没有问题。这有助于避免像404或500错误页面这样的关键错误。

  2. 它将您的docblock @example 标签的内容作为断言表达式执行。下面是示例。

  3. 它还运行您URL的GET和POST请求,例如,您可以使用@example标签为每个方法测试您的控制器,如API。

安装

安装此扩展的首选方式是通过 composer

运行以下命令

php composer.phar require --prefer-dist bariew/yii2-doctest-extension "*"

或者将以下内容添加到您的 composer.json 文件的require部分。

"bariew/yii2-doctest-extension": "*"

单元测试

  1. 在测试类方法描述中定义 @example docblock
    /**
     * Returns user default name
     * @return string name.
     * @example $this->getDefaultName() == "Mr. Smith"
     */
    protected function getDefaultName()
    {
        return "Mr. Smith"
    }
  1. 从您的测试脚本中调用 UnitTest
    $docTester = new \bariew\docTest\UnitTest("app\models\User");
    $docTester->test();

URL测试

  1. 在目标类方法描述中定义 @example docblocks
    $this->post("http://mySite.com/myPath", ["myParam"=>"MyValue"]) == '{"code":200, "message":"OK"}'
  1. 从您的测试脚本中调用 DocTest
    $docTester = new \bariew\docTest\UrlTest("app\controllers\UserController");
    $docTester->test();
  1. 点击测试。请参阅示例文件夹。