天生我才必有用

PHPUnit 方法说明

Posted in PHP    作者:Ray    2008年五月23日

PHPUnit Assertion 方法解释:

1. assertEquals( $val1, $val2, $delta, $message)

如何$val1不等于$val2,测试失败。$delta设定两个数值比较时的误差。

2. assertFalse( $expression, $message)

测试$expression的值是否为False,如果不为False则测试失败。

3. assertTrue( $expression, $message)

测试$expression的值是否为True,如果不为True则测试失败。

4. assertNotNull( $val, $message )

如果$val 为 null,则测试失败。

5. assertNull( $val, $message )

如果$val 不为 null,则测试失败。

6. assertSame( $val1, $val2, $message )

如何$val1等于$val2,同时$val1和$val2必须是相同的数据类型,否则测试失败。

7. assertNotSame( $val1, $val2, $message )

如何$val1不等于$val2,或者$val1和$val2的数据类型不同,则测试失败。

8. assertRegExp( $regexp, $val, $message )

如果$val不能匹配正则表达式$regexp,则测试失败。

9. assertType( $typestring, $val, $message )

如果$val不是$typestring所描述的类型,则测试失败。

10. assertAttributeSame($val, $attribute, $classname, $message)

如果$val和$classname::$attribute.的数值不同或者类型不同,则测试失败。

11. fail()

测试永远返回失败。(主要用于Exception的测试)

以上是一些常用的测试方法,PHPUnit还有不少其他assertion的方法。

最后介绍一下如何进行PHP的Exception的测试判断,PHPUnit中并没有已定制的函数,你必须通过使用try…catch和fail来实现Exception的测试。请参考以下示例:

public function testException() {
    try {
        //应产生异常的函数
        $this->store->addUser( "bob williams", "bob@example.com", "ff" );
    } catch ( Exception $e ) { return; }
    $this->fail("Short password exception expected");
}
标签:

在Ubuntu 7.1上安装 Xinc (包含Xdebug的安装)

Posted in Linux,PHP    作者:Ray    2008年四月18日

XInc是什么?它是一套PHP持续集成(continuous integration的系统,它完全使用PHP5进行编写,同时集成了Subversion、Phing、PHPUnit、PHPDocumentor等功能。

1.安装PHP模块和Xdebug模块

  1. sudo apt-get install php5 php5-dev php5-cli(其中php5-dev为了安装xdebug所以必须安装)。
  2. sudo apt-get install php5-xsl (Xinc需要xsl extension)
  3. sudo pecl install xdebug。(编译成功说明已经安装完成)
  4. 编辑/etc/php5/apache/php.ini和/etc/php5/cli/php.ini加入
    zend_extension="/usr/lib/php5/20060613+lfs/xdebug.so"。(此目录名词会在step2完成后显示)

2.通过pear库来安装Xinc

  1. sudo pear channel-discover pear.xinc.eu (Xinc的pear库)
  2. sudo pear channel-discover pear.phpunit.de (PHPUnit的pear 库)
  3. sudo pear channel-discover pear.phing.info (Phing的pear库)
  4. sudo pear install VersionControl_SVN-alpha
  5. sudo pear install –alldeps xinc/Xinc
  6. sudo pear run-scripts xinc/Xinc

3.配置Apache

  1. 在/etc/init.d/httpd.conf 文件中加入Include /etc/xinc/www.conf,此文件中主要包含Virtual Host的配置。
  2. 运行sudo a2enmod rewrite,加入apache对mod_rewrite的支持。
  3. 输入/etc/init.d/apache2 restart 重新启动apache server。

由于默认使用了127.0.0.1:8080作为xInc的Url,所以在浏览器的Url栏中输入既可看到Xinc的UI了。

PHPUnit的安装

Posted in PHP,极限编程    作者:Ray    2007年十二月20日

第一步不用说,当然是连接PHPUnit的官方网站,下载所需的安装程序。不过有一件事情千万别搞混了,在Pear库里也有一套PHPUnit,不过这个版本已经很旧了,现在都使用www.phpunit.de网站的PHPUnit程序,千万别搞错了,否则怎么写了半天的代码都是错的。

安装其实非常方便,也是通过Pear Installer来进行的。

1. 新增一个Pear库的Channel,因为它不是标准的Pear库中包含的内容。
pear channel-discover pear.phpunit.de

2. 输入Pear的安装命令,安装的过程就会自动开始了。
pear install phpunit/PHPUnit

3. 如需同时安装一些附加包,可以使用以下命令替代命令2。(建议使用这个选项安装,如果需使用PHPUnit生成一些报表,会使用到这些附加包)
pear install –alldeps phpunit/PHPUnit

当然也可以使用手动的方式进行,不过步骤比较多,有一定的复杂性。如有兴趣可参考PHPUnit官方说明自行安装。

以上只是简单的安装说明,慢慢会分享PHPUnit的使用心得。

标签: