测试工具之如何用PhpUnit跑通一个单元测试
白羽 2018-05-18 来源 :网络 阅读 1320 评论 0

摘要:  单元测试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

    

   本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标软件测试之测试工具频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程