亲宝软件园·资讯

展开

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

 

 收工吃饭!

加载全部内容

相关教程
猜你喜欢
用户评论