phpunit初使用
这是我第一次使用phpunit,之前经常看到,但是一直没有用过,今天从安装开始一步步操作一下。
我使用的是laravel,它是开箱自带的。所以不需要额外安装。

需要改变版本的,可以对照这个表格使用composer进行升级。
根目录下会有一个phpunit.xml的文件,如果没有则手动创建,格式如下
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="vendor/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="Unit">
<directory suffix="Test.php">./tests/Unit</directory>
</testsuite>
<testsuite name="Feature">
<directory suffix="Test.php">./tests/Feature</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./app</directory>
</whitelist>
</filter>
<php>
<env name="APP_ENV" value="testing"/>
<env name="BCRYPT_ROUNDS" value="4"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="MAIL_DRIVER" value="array"/>
<env name="QUEUE_CONNECTION" value="sync"/>
<env name="SESSION_DRIVER" value="array"/>
</php>
</phpunit>
如果是新手的话,其他的都先不用管。只需要看 <testsuites> 标签里面的东西就好了,这里的意思是测试套件。这里表明了2个测试套件,分别测试/tests/Unit和/tests/Feature目录下的测试文件。如果没有tests目录,则手动创建。
我在使用的时候发现已经有测试样例了,如果没有的话,就在tests/Unit下新建一个文件:ExampleTest.php,代码如下

要注意的是:这里laravel框架已经进行了一定程度的封装,如果你是刚安装了phpunit,那么应该继承的是PHPUnit\Framework\TestCase这个类。
需要注意的是,测试文件都已驼峰Test.php结尾,测试方法都以test开头
使用很简单,命令行进入项目根目录,然后执行./vendor/bin/phpunit 就行了
结果类似于:

我这里是有5个测试文件,所以显示了5个。
复杂的单元测试怎么写?
我在app\lib下面新建了一个文件Ip.php

编写单元测试,tests/Unit 下新建文件IpTest.php

执行:
./vendor/bin/phpunit

收工吃饭!
活到老学到老
浙公网安备 33010602011771号