PHPUNIT+YAF整合

phpunit官网:http://www.phpunit.cn/

phpunit文档:https://www.kancloud.cn/manual/phpunit-book/68602



安装phpunit拓展:

通过composer安装:(如还不会composer的请先安装composer)


PHPUNIT+YAF整合_第1张图片

然后运行composer update 命令,安装成功,这里就不截图展示了。


注意:

本人开发环境是winodows,git版本管理,发现切换其他分支后再返回phpunit的分支,无法运行phpunit了。

原因如下:

windows的git默认是不开启链接属性,而phpunit的拓展的软链接,如下图:

所以导致切换分支后,无法正常运行。

解决方式如下:

git config core.symlinks true,在windows中开启链接属性

如果发现phpunit还不是软链接状态,则如下处理:

1.rm ./vendor/bin/phpunit

2.checkout .



设计的目录结构如下:


PHPUNIT+YAF整合_第2张图片

在Services下完成需要的业务服务,尽量减少各个Service之间的耦合度;

在Models下只处理底层的Db数据逻辑,把业务逻辑移动到Service中处理,提高Service的独立性;

在Controllers下完成纯接口返回值判断,或者是做单元测试用例的入口处理

在Modules下再去细分对应模块的单元测试



主要文件内容:

bootstrap.php


PHPUNIT+YAF整合_第3张图片

TestCase.php


PHPUNIT+YAF整合_第4张图片

phpunit.xml


PHPUNIT+YAF整合_第5张图片

controllers/BaseControllerTest.php


PHPUNIT+YAF整合_第6张图片



运行命令:

php ./vendor/bin/phpunit --bootstrap ./test/bootstrap.php ./test/controllers/BaseControllerTest.php

php ./vendor/bin/phpunit -c test/phpunit.xml



解决单元测试数据库问题:

因为我们test环境的数据存储是每天会被正式覆盖,我们应用了测试环境的mysql和redis,用作测试。

你可能感兴趣的:(PHPUNIT+YAF整合)