工具&利器

测试之unit

1、避免重复修改BUG

2、下次重写或新增功能,不避重新测试原有功能部分

unit 中文手册  link

=====未完待续=====  updateTime: 2016-11-22

我理解的测试:

函数 设定参数 查看函数的返回结果

一个方法对应一个测试用例

预测结果,对比测试结果与预测结果

 

================php unit 实战============updateTime:2016-11-29

1、 系统环境

windows7 64位   phpstudy(2016)  php-5.6.27-nts+Apache

Composer version 1.2.2

phpunit 5.5

项目目录

|–test

|–|–testUser.php

|–|–composer.json

|–|–vendor

|–|–src

2、系统安装

composer.json配置

{
    "require-dev": {
        "phpunit/phpunit": "5.5.*"
    },
    "repositories": {
        "packagist": {
            "type": "composer",
            "url": "https://packagist.phpcomposer.com"
        }
    }
}

cmd 命令窗口下 composer install (cd 切换到composer.json文件目录中执行)

3、第一个实例

<?php
include './vendor/autoload.php';
class userTest extends PHPUnit_Framework_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 testUser.php

CMD输出信息
PHPUnit 5.6.4 by Sebastian Bergmann and contributors.

F                                                                  1 / 1 (100%)

Time: 123 ms, Memory: 7.00MB

 

4、日志记录

第一行记录的是 可读测试报告

第二行记录的是 详细测试报告


phpunit --testdox-html a.html unittest testDepends.php  


phpunit --log-junit a.xml unittest testDepends.php

====================暂时停止===endTime:2016.12.02==================

发表评论