codeception 接口级测试(一)- 安装与运行
2019-01-22 本文已影响34人
wudanyang
背景
上线过程中,很多次都出现修改的代码影响到了其他的业务。然而,测试过程中,不可能面面俱到,所以导致,代码冗余出很多,后期也不好维护。
基于以上,想到了一个方法,那就是写测试用例。但是,单元测试用例,要求现有代码模块化较高,实践困难。所以我们只做了接口级别的测试,用于保证线上不报错,基本功能完全可以使用,并且可以简单地测试驱动开发。
安装
sudo curl -LsS https://codeception.com/codecept.phar -o /usr/local/bin/codecept
sudo chmod a+x /usr/local/bin/codecept # 添加执行权限
# 之后可以使用 codecept 命令了
初始化
codecept bootstrap
codecept init api
Bootstrap 命令会生成如下的结构:
bootstrap 之后的结果
生成一个测试用例文件:
generate:cept Generates empty Cept file in suite
generate:cest Generates empty Cest file in suite
generate:test Generates empty unit test file in suite
cept: 单独的测试文件
像是这样的:
<?php
$I->click('Login');
$I->fillField('#input-username', 'John Dough');
$I->pressKey('#input-remarks', 'foo');
cest:测试类,里面包含多个测试方法
<?php
class BasicCest
{
public function _before(ApiTester $I)
{
}
public function _after(ApiTester $I)
{
}
// tests
public function tryToTest(ApiTester $I)
{
}
}
生成新的 suite
默认情况下,没有 api suite,需要生成才能使用。
codecept generate:suite api
生成 api 之后的目录结构:
generate api 之后
但是这样生成之后,可以看到 _generated 文件夹里面,并没有 api 的帮助类
需要执行 :
codecept build
build 之后的结果
运行接口测试
codecept run api
output:
测试完成