摘要: 单元测试testCase一般是放在项目根目录的tests目录下,可以建子目录对应一个模块,每一个test文件对应一个具体功能的单元测试点,然后在项目根目录建个phpunit.xml.dist来编排测试套件,测试时只用在phpunit.xml.dist所在目录运行phpunit命令即可。这里用composer主要用它的autoload。本文主要教你用测试工具之如何用PhpUnit跑通一个单元测试,希望对大家学测试管理有所帮助。
思路
单元测试testCase一般是放在项目根目录的tests目录下,可以建子目录对应一个模块,每一个test文件对应一个具体功能的单元测试点,然后在项目根目录建个phpunit.xml.dist来编排测试套件,测试时只用在phpunit.xml.dist所在目录运行phpunit命令即可。这里用composer主要用它的autoload。
安装相关环境支持
主要是安装Composer和Phpunit,具体查看相应官方文档即可,这里不细说。
生成项目对应vendor
根目录创建composer.json文件
{
"require": {}
}
然后执行
composer update
根目录下会创建一个vendor目录,这里主要用到vendor/autoload.php
创建phpunit.xml.dist文件
在项目根目录创建phpunit.xml.dist
<phpunit bootstrap="vendor/autoload.php"> <testsuites> <testsuite name="my Test"> <directory>tests</directory> </testsuite> </testsuites> </phpunit>
创建一个简单测试用例
项目根目录创建tests目录,进入创建StatckTest.php文件,内容如下:
<?php use PHPUnit\Framework\TestCase; class StackTest extends TestCase { public function testPushAndPop() { $stack = []; $this->assertEquals(0, count($stack)); array_push($stack, 'foo'); $this->assertEquals('foo', $stack[count($stack) -1]); $this->assertEquals(1, count($stack)); $this->assertEquals('foo', array_pop($stack)); $this->assertEquals(0, count($stack)); } }
进行单元测试
在根目录执行:
phpunit
就会看到测试情况:
[rootrl@jdu4e00u53f7 unit]$ phpunit PHPUnit 6.2.4 by Sebastian Bergmann and contributors. . 1 / 1 (100%) Time: 70 ms, Memory: 8.00MB OK (1 test, 5 assertions)
总结
这里只是简单实例如果跑通一个单元测试的流程,各种细节技巧还需自己去看官方文档,然后通过自己实践学习。
最后贴出我的项目目录以供参考:
unit ├── composer.json ├── phpunit.xml.dist ├── tests │ └── StatckTest.php └── vendor ├── autoload.php └── composer Share
本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试工具频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号