phpunit初使用
little天 人气:0这是我第一次使用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
收工吃饭!
加载全部内容