欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHPUnit从零开始(1):从它的安装配置说起

程序员文章站 2022-05-09 22:41:51
...
又是新的一年了,之前一只琢磨2016写点什么开篇是一个比较好的开端呢?然后一直在PHPUnit与设计模式之中纠结。最后决定还是从PHPUnit作为新的一年开篇吧。
PHPUnit对于我来说也是一个新的知识,之前使用Laravel时,只是简单了解了一下,并没有真正的实践过,之前一直想,这么屌的东西,我准备花个一个月来好好研究下。结果……安装花了我半天,其它的都不是事儿。

这里还要补充一下,我的环境如下:
xampp(php5.6) + win7

安装有坑,请小心

为什么安装就让我花了半天时间?唉,说来都是泪,不吸取教训呗,找了一些过期的文档,根本就走不通。最后终于在官方文档 找到了想要的答案。官网上已经说得很清楚了,这里我还是再说一下,为什么呢?凑字数呗!嘿嘿,当然我其实不会这么无耻,主要是因为xampp它自己安装了phpunit (很老的版本,所以需要重新安装),我重点说如何覆盖它自带的phpunit。

PHPUnit从零开始(1):从它的安装配置说起

这里就偷懒了,直接把官网的内容截图。
以下是重点:
官网说配置环境变量这里,大家一定要小心,举我自己的例子来说,我将xampp安装在D:\xampp,在环境变量中配置了xampp的php位置。那么如果我将新下载的phpunit配置在了这个目录之后,使用phpunit时,还是使用的xampp自带的。因此一定记得将你的新下载的phpunit配置在xampp之前。
做完以上操作,请打开Command(Win+R),然后输入:phpunit –version。如果看见以下效果表示你已经完成安装:
PHPUnit从零开始(1):从它的安装配置说起

Test的test

现在需要试试我们的phpunit了。我这里先直接贴代码,下一篇在开始说为什么。
这里为了简单,我把需要测试的类,已经测试用例写在一个文件里边。使用过程中肯定不要这么干。

/**
 * @author: helei
 * @createTime: 2016-01-15 09:45
 * @description:
 */classTryClass
{publicfunctiongetValue()
    {return1;
    }
}

classTryTestextendsPHPUnit_Framework_TestCase
{publicfunctiontestValue()
    {$try = new TryClass();
        $this->assertEquals(1, $try->getValue());
    }
}

然后进入到文件所在目录,运行phpunit:
PHPUnit从零开始(1):从它的安装配置说起

这个图展示的是正确的情况,大家可以试试把值修改了其它值试试。
哦,这里还需要说一下,PHPUnit_Framework_TestCase 这个类的问题,安装了phpunit后,并不会就有这个类,需要通过composer来安装phpunit 的libary。composer.json文件内容如下:

{
  "require"     : { },
  "require-dev" : { "phpunit/phpunit": "5.1"}
}

今天关于phpunit就算完成了,也许不够详尽,但是多动动手,应该都不是什么问题。
本来想在元旦的时候来一发的,但是由于年底刚换了工作,而刚到新公司就遇到了要发重大版本,加班加点总算在昨天完成了开发任务。今天趁这个机会把2016的开篇给写了,然后随便说说自己的2016学习计划,写在这里提醒自己不要忘记了。

2016学习计划

对于我的以下学习计划,我将采用博客驱动的方式,也就是学习一种技能,就完成相应技能的博客内容,一来加深学习程度,二来与大家共勉,三来……算了,不来了,总之就是学了我就写出来。欢迎指正不正确的地址。

  • 计划一:PHPUnit学习,这个计划已经开始,争取二月份把所有博客内容完成(其实学习已经全部完成)。
  • 计划二:以前一直看设计模式,但是仅限于理论,这次打算结合实践、自己的理解,把设计模式写一次。所有代码最后都会 放到github上,当然每一篇博客也会有相关代码。
  • 计划三:需要看一看laravel的实现过程了,以前一直算是一种应用,这次打算深入框架,看一下它框架代码的实现。
  • 计划四:嗯,学一门新语言,GO。因为用了七牛的服务,确实感觉挺棒的,而他全是用GO语言实现的,因此打算自己学习一下,也算是一种补充。

话已经放出来了,要是2016没有搞完,就打脸了。我会让自己打脸莫?谁知道呢!哈哈哈

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });

以上就介绍了PHPUnit从零开始(1):从它的安装配置说起,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。