精华内容
下载资源
问答
  • 本文实例讲述了PHP单元测试PHPUnit简单用法。分享给大家供大家参考,具体如下: windows开发环境下,PHP使用单元测试可以使用PHPUnit。 安装 首先下载PHPUnit,官网:https://phpunit.de/ 根据自己的PHP版本下载...
  • 本文实例讲述了php单元测试phpunit。分享给大家供大家参考,具体如下: 这篇文章提供了一些phpunit官方教程没有提到的信息,帮助初学者快速了解php单元测试,在phpunit官网提供了详细的中文教程,可选多种格式下载 ...
  • PHP单元测试PHPUnit

    千次阅读 2017-04-01 11:30:16
    PHP单元测试PHPUnit

    windows开发环境下,PHP使用单元测试可以使用PHPUnit。

    安装

    首先下载PHPUnit,官网:https://phpunit.de/  根据自己的PHP版本下载对应的PHPUnit版本,我本地是PHP5.5,所以这里我下载PHPUnit4.8。下载完成得到phpunit-4.8.35.phar文件,放到任意目录,这边我放到D:\phpunit下,并把文件名改为:phpunit.phar  。配置环境变量:右击我的电脑-》属性-》高级系统设置-》环境变量-》编辑path在最后添加phpunit.phar的路径,这里我是D:\phpunit,所以在最后添加D:\phpunit  。

    打开命令行win+R输入cmd,进入到D:\phpunit

    cd /d D:\phpunit
    安装phpunit

    echo @php "%~dp0phpunit.phar" %* > phpunit.cmd
    查看是否安装成功

    phpunit --version
    如果显示phpunit的版本信息,说明安装成功了,这边我显示:PHPUnit 4.8.35 by Sebastian Bergmann and contributors.

    测试

    先写一个需要测试的类,该类有一个eat方法,方法返回字符串:eating,文件名为Human.php

    <?php
    
    class Human
    {
    	public function eat()
    	{
    		return 'eating';
    	}
    }
    再写一个phpunit的测试类,测试Human类的eat方法,必须引入Human.php文件、phpunit,文件名为test1.php

    <?php
    
    include 'Human.php';
    
    use PHPUnit\Framework\TestCase;
        class TestHuman extends TestCase
        {
            public function testEat()
            {
            	$human = new Human;
            	$this->assertEquals('eating', $human->eat());
            }
        }
    ?>
    其中assertEquals方法为断言,判断eat方法返回是否等于'eating',如果返回一直则成功否则返回错误,运行测试:打开命令行,进入test1.php的路径,然后运行测试:

    phpunit test1.php
    返回信息:

    PHPUnit 4.8.35 by Sebastian Bergmann and contributors.
    
    .
    
    Time: 202 ms, Memory: 14.75MB
    
    OK (1 test, 1 assertion)
    则表示断言处成功,即返回值与传入的参数值一致。






    展开全文
  • 主要介绍了PHP使用phpunit进行单元测试,结合实例形式分析了phpunit的安装及单元测试相关使用技巧,需要的朋友可以参考下
  • {"fzaninotto/faker": "~1.4","mockery/mockery": "0.9.*","phpunit/phpunit": "~4.0","phpspec/phpspec": "~2.1"},"autoload": {"classmap": [...phpunit单元测试phplaravel5 使用laravel5做单元测试...

    9c98fe03383ffeca78ca12f3181f2137.png

    ...pan>{

    "fzaninotto/faker": "~1.4",

    "mockery/mockery": "0.9.*",

    "phpunit/phpunit": "~4.0",

    "phpspec/phpspec": "~2.1"

    },

    "autoload": {

    "classmap": [

    ...

    phpunit单元测试phplaravel5 使用laravel5做单元测试时,碰到以下问题,需要测试querySessionIdTest这个方法,

    但是需要mock出sessionidtest这个方法,具体代码如下:

    类如下:class ZabbixSystem implements ApmSystemInterface public function querySessionIdTest() { echo 'querySessionIdTest'; return $this->sessionidtest(); } public function sessionidtest() { echo 'sessionidtest'; return 'aaa'; }}

    单元测试方法:public function testQuerySessionIdSuccess() { $return = 'aaa'; $stub = Mockery::mock('mcokname');// $this->app->instance('ZabbixSystem', $stub); $stub->shouldReceive('querySessionIdTest')->andReturn($return); $response = $stub->querySessionIdTest(); $this->assertEquals('aaa', $response); } public function testQuerySession() { // 为 SomeClass 类创建桩件。 $stub = $this->getMockBuilder('App\Services\ZabbixSystem')->setMethods(array( 'querySessionIdTest', 'sessionidtest' ))->getMock(); // 配置桩件。 $stub->method('sessionidtest')->willReturn('111'); $this->app->instance('ZabbixSystem', $stub); $this->assertEquals('foo', $stub->querySessionIdTest()); }

    通过两种方式进行测试,但都不成功,我希望的结果为:

    echo 'querySessionIdTest';

    然后测试成功

    ...pan>{

    "fzaninotto/faker": "~1.4",

    "mockery/mockery": "0.9.*",

    "phpunit/phpunit": "~4.0",

    "phpspec/phpspec": "~2.1"

    ...amework": "..*"

    },

    "require-dev": {

    "fzaninotto/faker": "~.",

    "mockery/mockery": "..*",

    "phpunit/phpunit": "~.",

    "phpspec/phpsp

    ...的理念,再引入Mock技术。在开始之前,需要安装PHPUnit和Mockery库(本文不使用PHPUnit自带的Mock库): # 安装PHPUnitpear config-set auto_discover 1pear install pear.phpunit.de/PHPUnit# 安装

    ...的退出代码。

    ATOUM

    MOCKERY

    Mockery 是非常简单灵活的 PHP mock 对象框架,一般用在 PHPUnit,PHPSpec 和其他的单元测试中。

    PHAKE

    Phake 是 PHP 框架,提供 mock 对象,双向测...

    ...架,是通过规范异常驱动的PHP测试框架。 Mockery Mockery是简单而灵活的PHP mock对象框架,常用在PHPUnit,PHPSpec或者其他测试框架的单元测试中。它的核心目标是提供一个双向测试框架,提供一个su...

    ...安装这个项目里面的包 "fzaninotto/faker": "~1.4", "mockery/mockery": "0.9.*", "phpunit/phpunit": "~4.0", "symfony/css-selector": "

    ...amework": "..*"

    },

    "require-dev": {

    "fzaninotto/faker": "~.",

    "mockery/mockery": "..*",

    "phpunit/phpunit": "~.",

    "phpspec/phpsp

    ... >{ "fzaninotto/faker": "~1.4", "mockery/mockery": "0.9.*", "phpunit/phpunit": "~4.0", "phpspec/phpspec": "~2.1" },

    ...on testQuerySessionIdSuccess() { $return = 'aaa'; $stub = Mockery::mock('mcokname');// $this->app->instance('ZabbixSystem',

    ...网址:https://github.com/swiftmailer/swiftmailer27、 MockeryMockery 是一个简单但灵活的PHP模拟框架,用于单元测试,支持PHPUnit、PHPSpec等测试框架。Mockery的核心目标是提供一个可以采用DSL定义模拟行为的测试框架.

    展开全文
  • PHP单元测试phpunit

    2016-06-23 14:47:59
    https://phpunit.de/ 官方文档下载: https://phpunit.de/manual/current/zh_cn/phpunit-book.pdf安装方法wget https://phar.phpunit.de/phpunit.phar ...mv phpunit.phar /usr/local/bin/phpunit phpunit

    https://phpunit.de/
    官方文档下载:
    https://phpunit.de/manual/current/zh_cn/phpunit-book.pdf

    要进行单元测试的情况,可能有以下三种:

    1. 在开发完成时或开发过程中,对某个函数、方法边调试边进行测试。测试案例可能在进行开发的同时撰写,或者在项目的详细设计阶段即已经写好;
    2. 对一个模块(包含多个功能点)中的所有功能点进行一些集中的测试以检查是不是每一个功能点都能通过测试;
    3. 对于整个项目的统一单元测试。通常与每日构造结合。

    安装方法

    wget https://phar.phpunit.de/phpunit.phar
    chmod +x phpunit.phar
    mv phpunit.phar /usr/local/bin/phpunit
    phpunit --version

    或者是直接使用

    php phpunit.phar --version

    测试用例

    <?php
    class Money {
        private $amount;
    
        public function __construct($amount) {
            $this->amount = $amount;
        }
    
        public function getAmount() {
            return $this->amount;
        }
    
        public function saveAmount($count) {
            $this->amount += $count;
            return $this->amount;
        }
    
        public function loseAmount($count) {
            $this->amount = $this->amount - $count;
            return $this->amount;
        }
    
        public function good() {
            $this->amount + 1000;
            return $this->amount;
        }
    }
    <?php
    
    include_once('./Money.php');
    
    use phpunit\framework\TestCase;
    
    class MoneyTest extends TestCase {   
        public function testGetAmount() {
            $a = new Money(22);
            echo $a->getAmount();
            return ;
        }
    
        public function testSaveAmount() {
            $a = new Money(43);
            echo $a->saveAmount(20);
            return ;
        }
    
        public function testLoseAmount() {
            $a = new Money(33);
            echo $a->loseAmount(1);
            return ;
        }
    
        public function testGood() {
            $a = new Money(1000);
            echo $a->good();
            return ;
        }
    }
    phpunit MoneyTest.php

    结果如下

    PHPUnit 5.4.6 by Sebastian Bergmann and contributors.
    
    .22.63.32.                                                                4 / 4 (100%)1000
    
    Time: 173 ms, Memory: 8.00MB
    
    OK (4 tests, 0 assertions)
    
    展开全文
  • 主要介绍了PHP单元测试框架PHPUnit用法,结合实例形式详细分析了单元测试框架PHPUnit原理、安装、使用相关操作技巧与注意事项,需要的朋友可以参考下
  • 在本文中,笔者将为大家介绍phpunit中的两个高级概念和用法,尽管它不一定在你的日常单元测试中都用到,但理解和学会它们的用法对学习phpunit还是十分重要的。  Phpunit中的Annotations  如果有其他编程语言经验的...
  • 主要介绍了Windows下安装PHP单元测试环境PHPUnit图文教程,按照本文操作即可在Windows下安装成功PHPUnit,需要的朋友可以参考下
  • PHP 单元测试 PHPUnit

    2013-11-25 22:57:00
    2019独角兽企业重金招聘Python工程师标准>>> http://phpunit.de/manual/current/en/index.html 转载于:https://my.oschina.net/letiantian/blog/178917
    展开全文
  • ThinkPHP5与单元测试PHPUnit使用

    千次阅读 2019-03-18 16:17:53
    PHPUnit是一个用PHP编程语言开发的开源软件,是一个单元测试框架。PHPUnit由Sebastian Bergmann创建,源于Kent Beck的SUnit,是xUnit家族的框架之一。 单元测试是对单独的代码对象进行测试的过程,比如对函数、类、...
  • 标题CI单元测试 PHPUnit与CodeIgniter结合进行单元测试以及代码覆盖率 安装PHPUnit 安装PHPUNIT,具体安装方法,在不同的操作系统下也不相同,网上有很多方法,可以参照一下。安装好后,最好将phpunit设置成环境...
  • 今天接到了个任务,需要对数字进行计算,因为涉及到整数,小数,和科学计数法等很多条件,所以人工测试非常麻烦,于是想到了PHP单元测试工具PHPUnit,所以写个文档备查。工作流程如下:1.设计你的class/API2.创建...
  • 主要介绍了Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法,简明扼要的分析了Windows环境下wamp中php单元测试工具PHPUnit的安装步骤、操作注意事项以及生成日志文件配置方法,需要的朋友可以参考下
  • 主要介绍了使用PHPUnit进行单元测试并生成代码覆盖率报告的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 首先我们要搞清楚单元测试这个概念 ,单元测试就是指对软件中的基本单元进行测试,如函数、方法等,以检查其...php单元测试phpunit在其官网有详细教程,这里介绍一些补充内容。首先要明白phpunit软件本身就是...
  • php单元测试入门教程phpunit详解

    万次阅读 2017-02-14 16:29:24
    指对软件中的基本单元进行测试,如函数、方法等,以检查其返回值或行为是否符合预期;实际中软件是很复杂的,由许多组件构成,执行流程连贯在一起,要进行...phpunit这个软件就是用来帮助我们写测试用例并进行测试的。
  • phpunit: Windows版本 整体上说,在 Windows 下安装 PHAR 和手工在 Windows 下安装 Composer是一样的过程: 下载链接:http://pan.baidu.com/s/1gdPPJIr *** 务必先验证php安装成功,打开cmd 执行...
  • 官方提供了 think-testing 组件可以通过 composer require topthink/think-testing 1.* 安装,但我对这个测试组件不是很满意,原因是它每个测试都是模拟成 http 请求。这也就意味着对于一些特定函数,还得封装到...
  •  一旦你编写好单元测试用例,当你需要修改你的代码时,你要做的事情就是重新运行你的单元测试用例并观察这些单元测试用例能否通过,如果通过了的话,证明代码是没问题的。  人们往往会说:既然单元测试这么好,为...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,399
精华内容 1,359
关键字:

php单元测试phpunit