内容简介: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
以上所述就是小编给大家介绍的《PhpUnit基础:如何跑通一个单元测试》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Vue 应用单元测试的策略与实践 02 - 单元测试基础
- GO随笔-单元测试-基础测试
- [译]golang基础-编写单元测试
- Go 语言基础 - 编写单元测试
- SpringBoot基础之MockMvc单元测试
- 搞定Go单元测试(一)——基础原理
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。