php codeception - 学习与成神之路

时间:2024-03-08 09:18:13

php codeception

前言

  本测试用例只针对yii2 basic框架而写,若要支持其他框架,请自行查看phpcodeception指导(需要FQ)http://codeception.com/

  yii2 basic默认已经安装支持了codeception,因此无需再安装codeception。

初始化
  将路径切换到工程根目录下
  windows下:
    php vendor/codeception/codeception/codecept bootstrap
  linux下:
    php vendor/bin/codecept bootstrap

  一般是在window下编码,为了不重复说命令,统一使用windows下的,对于linux下的,将vendor/codeception/codeception/codecept改成vendor/bin/codecept即可。

  实际上在windows中的命令也可以直接在linux中使用

  事实上,yii2 basic已经默认做了这一步,因此可以省略这一步。具体的查看是:在工程根目录下是否有codeception.yml文件及tests目录

配置
  将下面的两行代码放置在config/web.php中
    defined(\'YII_ENV_DEV\') or define(\'YII_ENV_DEV\', \'dev\');
    require(__DIR__ . \'/../vendor/yiisoft/yii2/Yii.php\');

  修改codeception.yml中的数据库连接配置

  在unit.suite.yml中启用yii2模块

单元测试
  php vendor/codeception/codeception/codecept generate:test unit business

  其中business是为单元测试起的名字,可以根据实际要求改成任意内容。

  这个命令会在tests目录下自动生成businessTest.php测试脚本,之后在这个脚本中编写测试代码即可

  codeception的单元测试完全兼容phpunit编写的测试案例

运行测试
  运行整个测试
    php vendor/codeception/codeception/codecept run

  运行所有的单元测试
    php vendor/codeception/codeception/codecept run unit

  运行某个单元测试
    php vendor/codeception/codeception/codecept run unit businessTest.php
    或者
    php vendor/codeception/codeception/codecept run tests/unit/businessTest.php

  运行某个单元测试里的某个测试用例
    php vendor/codeception/codeception/codecept run tests/unit/businessTest.php:testMe