`
kibamaple
  • 浏览: 4221 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

PHPUnit笔记(一)

    博客分类:
  • php
阅读更多
PHPUnit笔记(一)

  最近构想自己要做的项目,涉及到web上的东西,要用php来做,因此自然就接触到了phpunit这个东西。
 
  开发平台:Debian
 
  首先是安装PHPUnit,配置环境当然是越简单越好,我是个懒人,我认...

  PHPUnit安装
1pear channel-discover pear.phpunit.de
2pear channel-discover components.ez.no
3pear channel-discover pear.symfony-project.com
4pear install phpunit/PHPUnit

   结束后,会等一阵子,一开始我心急了,看见没啥反映,就直接ctrl+c了。事实证明我2了。
   安装需要pear,当然,获取方法也继续 my style。

   pear安装
1apt-get install php5-curl php-pear安装curl,pear
2pear upgrade-all更新软件包

  
   一切就绪后,可以在终端里输入phpunit,如果没有反映,就准备好好找原因吧。反正我相信linux上的软件问题,大多是依赖问题,以前尝试玩过lfs,好家伙,没让我少死脑细胞。
  


   接着是使用phpunit。
   根据baidu和google,大多使用如下:
  
<?php
   require_once 'PHPUnit/Framework.php';
 
   class ExceptionTest extends PHPUnit_Framework_TestCase
   {
      /**
      * @expectedException InvalidArgumentException
      */
      public function testException()
      {
      }
   }
?>

   然后在终端输入
  
1phpuint test.phptest.php为测试代码文件

   悲剧的是,找不到PHPUnit/Framework.php这个文件,于是查看php.ini的include_path参数后,找到了phpunit目录,发现了Framework目录。
  
<?php
	require_once 'PHPUnit/Framework/TestCase.php';

	class ArrayTest extends PHPUnit_Framework_TestCase{

		public function testNewArrayIsEmpty(){
			/*Create the Array fixture*/
			$fixture = array();
			/* Assert that the size of the Array * fixture is 0*/
			$this->assertEquals(0, sizeof($fixture));
		}

		public function testArrayContainsAnElement(){
			/* Create the Array fixture*/
			$fixture = array();
			/*Add an element to the Array * fixture*/
			$fixture[] = 'Element';
			/*Assert that the size of the * Array fixture is 1*/
			$this->assertEquals(1, sizeof($fixture));
		}
	}
?>

   这次ok了,基本上一个简单的testcase就是跑通了。

   当然,如果测试文件比较多,这么挨个phpunit,是相当蛋疼的事情。所以,我去找到了xml配置文件的使用方法。
  
<phpunit>
  <testsuites>
    <testsuite name="Object_Freezer_Directory">
      <directory>Tests</directory>
    </testsuite>
     <testsuite name="Object_Freezer_File">
     <file>Tests/Freezer/HashGenerator/NonRecursiveSHA1Test.php</file>
      <file>Tests/Freezer/IdGenerator/UUIDTest.php</file>
      <file>Tests/Freezer/UtilTest.php</file>
      <file>Tests/FreezerTest.php</file>
      <file>Tests/Freezer/StorageTest.php</file>
      <file>Tests/Freezer/Storage/CouchDB/WithLazyLoadTest.php</file>
      <file>Tests/Freezer/Storage/CouchDB/WithoutLazyLoadTest.php</file>
    </testsuite>
  </testsuites>
</phpunit>

   大概就是这样,可以去http://www.phpunit.de/manual/3.6/en/index.html了解更多的用法。
   终端命令
1phpunit --configuration test.xml --debugtest.xnl为测试配置文件


   ok,第一份笔记完毕。
   最后感慨下,phpunit真的是相当不错,想java用JUnit,要mock还需要Jmock,easymock;net也差不多,单元测试NUnit,mock需要Rhino Mocks;c就更要泪奔了。phpunit,不仅仅包含mock,连Code Coverage都有,不得不赞叹下啊。
分享到:
评论

相关推荐

    PhpStorm Xampp ThinkPHP 环境配置笔记

    在更新和安装PHPUnit方面,笔记提到了使用Pear命令行工具来升级和安装PHPUnit,以及配置自动发现频道。这使得我们可以在XAMPP环境中执行单元测试。 然后,我们开始创建ThinkPHP项目。在PhpStorm中,新建一个名为...

    PHP代码审计入门笔记.rar

    5. **动态分析**:除了静态分析,笔记还会讨论动态分析,如使用Xdebug进行运行时调试,以及如何利用PHPUnit进行单元测试以确保代码功能正确。 6. **代码审查**:笔记会讲解代码审查的过程,这是代码审计的一个重要...

    phpunitLearn:phpunit learning 学习笔记,很基础的知识,适合新手快速入门

    学习目标 学会使用PHPunit测试函数,类,数据库,xml/json 等 目录 内容:入门示例,依赖关系,数据供给器 内容:异常、错误、输出测试 skeleton(失败) Selenium(未完成) 参考资料 PHPUnit Example ...

    php-paper-开发笔记

    【标题】"php-paper-开发笔记" 涵盖了PHP编程语言的深入学习和实践经验,这是一份针对PHP开发者的重要资源。这份笔记可能包含了PHP的基础语法、高级特性、最佳实践以及常见问题的解决方案,旨在帮助开发者提升技能,...

    phpticle-in-dictionary-oJ开发笔记

    8. **测试与调试**:开发笔记中可能会涵盖单元测试的编写,使用如PHPUnit等PHP测试框架,以及如何调试代码和解决遇到的问题。 9. **代码组织**:PHP项目通常遵循一定的目录结构和命名规范,理解MVC(模型-视图-控制...

    phpunit-and-selenium-course:udemy课程PHPUnit在2020年的实践— PHP开发人员的单元和Selenium测试

    【压缩包子文件的文件名称列表】:"phpunit-and-selenium-course-master" - 这可能是课程资源的主目录,可能包含了课程的笔记、代码示例、练习和可能的视频内容。"master"通常指的是主要或者最新的版本,意味着这是...

    Zend学习笔记 - (二) 开发工具

    4. **PHPUnit**:PHP的单元测试框架,用于编写和运行自动化测试用例,确保代码的正确性和稳定性。在Zend开发中,良好的测试实践是保证质量的关键。 5. **PHP Manual**:压缩包中的`php_manual_zh.chm`文件是PHP官方...

    bool商城代码+笔记+流程图

    9. 笔记和流程图:这部分内容可能是对项目开发过程的记录和总结,包括设计思路、遇到的问题及解决方案,有助于读者更好地理解和学习整个项目。 10. 单元测试与调试:为了保证代码质量,开发者可能会编写单元测试,...

    til:今天我学会了-片段,笔记等的工作笔记本

    125笔记和计数...分类目录LaravelMongoDB的MySQL 联网节点脾气暴躁的PHP PHPUnit Python React锈SQLite的SQL服务器理论Tmux Unix系统流浪汉视频Vim Awk 获取字符串中的字符索引在打印语句之间设置分隔符 AWS 通过...

    knowledge-center

    php artisan migrate php artisan db:seed 好了,现在您可以为项目服务: php artisan serve 测验提供了可用路线的功能测试,因此您可以像这样测试项目: vendor/bin/phpunit 笔记下面的数据将作为种子,请记住,...

    php-journal:php 笔记和资源

    PHP-Journal 是一个专门为PHP学习者和开发者准备的资源集合,包含了丰富的笔记、教程、示例代码以及相关的学习资料。本文将对这个资源包进行深入解析,帮助读者更好地理解和掌握PHP。 1. **PHP基础知识** PHP 是一...

    reading:我的阅读资料

    PHP 性能分析第一篇: Xhprof & Xhgui 介绍 PHP 性能分析第二篇: Xhgui In-Depth PHP 性能分析第三篇: 性能调优实战 PHP 性能追踪及分析工具 xhprof 的安装与使用 Working with PHPUnit and Selenium Webdriver ...

    laravel-note:有关Laravel的注释集合

    notePHP单元安装composer require phpunit/phpunit 作曲家的安装sudo apt install composer PHP ActiveRecord GitHub存储库: : 编码标准指南清除缓存... 使用资源类(在Laravel 5.5中引入) withoutWap()到未经与data...

    Big-Sticky-Notes-master

    8. **测试**:单元测试和集成测试是保证代码质量的重要手段,可以使用PHPUnit等工具进行测试。 通过对"Big-Sticky-Notes-master"的深入研究,开发者不仅可以学习到PHP编程的实际应用,还能了解到如何遵循编码规范和...

    zend framework教程.zip

    1. **单元测试**:利用 PHPUnit 配合 Zend Framework 进行单元测试。 2. **持续集成**:整合 Jenkins 或 Travis CI 等工具,实现自动化部署和测试。 3. **ZF2 和 ZF3 的差异**:了解 Zend Framework 2 和 3 的区别...

    PHP 高级编程 原版书籍 PDG 版本

    12. **自动化测试**:讲解单元测试、集成测试和持续集成的重要性,以及如何使用PHPUnit等工具进行测试。 13. **PHP最佳实践**:分享一些开发过程中的经验法则,以帮助开发者遵循良好的编程习惯和设计模式。 通过...

    elastic-apm-php-agent:适用于Elastic APMPHP代理

    文献资料例子捕捉可投掷跨度母公司交易指标集获取服务器信息分布式跟踪将debug_backtrace转换为堆栈跟踪 测验vendor/bin/phpunit 贡献者非常感谢这个仓库的每个贡献者,特别感谢: 斯蒂芬georgeboot alash3al 思潮雨...

    myrepository:Ini存储库saya untuk tugas PABI pertama saya

    在这个“myrepository”中,我们可以期待找到与PHP编程相关的源代码、学习笔记或者其他相关资源。 【标签】:“PHP” 标签“PHP”告诉我们,这个项目的核心技术是PHP,一种广泛用于服务器端脚本的开源编程语言,...

    ProyectoNotas

    【标题】"ProyectoNotas" 是一个项目名称,很可能是一个用PHP开发的笔记应用程序或者管理系统。这个项目可能旨在帮助用户记录、组织和管理他们的个人或工作笔记,从而提高生产力和效率。 【描述】"“#...

Global site tag (gtag.js) - Google Analytics