klei/phut

PHP 5.3+的一个小型简单的单元测试框架

v0.1.0 2012-06-19 20:38 UTC

This package is not auto-updated.

Last update: 2024-09-28 13:45:58 UTC


README

Phut是一个受NUnit启发的PHP 5.3+小型单元测试框架

构建状态

什么是Phut

Phunit是一个PHP单元测试框架,使用注解模拟.NET的NUnit的行为。

为什么还需要另一个单元测试框架?

我厌倦了寻找一个完全支持以下特性的PHP单元测试框架:

  • 完全支持命名空间
  • 易于设置
  • 在Windows上运行无烦恼

所以,当我找不到一个完全满足上述所有条件的框架时,我决定自己来做。

安装

您可以使用以下方法之一安装Phut。

使用Composer

安装Phut的一个简单方法是使用Composer。首先在项目根目录中创建或修改您的composer.json文件,包括以下内容:

{
    "require": {
        "klei/phut": "*"
    },
    "config": {
        "bin-dir": "bin/"
    }
}

然后从http://getcomposer.org/下载composer.phar并运行

php composer.phar install

或者使用git

您也可以使用以下命令克隆Phut仓库:

git clone git://github.com/klei-dev/phut.git

然后按照上述方法下载composer.phar并执行以下操作

php composer.phar install

编写您的第一个测试

如上所述,Phut使用注解来工作。注解的名称直接受.NET的NUnit框架的启发。即测试类必须使用@TestFixture注解,每个测试必须使用@Test注解。

一个简单的测试可能看起来像这样

<?php
use Klei\Phut\TestFixture;
use Klei\Phut\Test;
use Klei\Phut\Assert;

/**
 * @TestFixture
 */
class MyFirstTests {
	/**
	 * @Test
	 */
	public function MultiplyOperator_Multiply2by4_ShouldGive8()
	{
		// Given
		$number1 = 2;
		$number2 = 4;

		// When
		$result = $number1 * $number2;

		// Then
		Assert::areIdentical($result, 8);
	}
}

您可以使用以下命令运行您的测试

bin/phut [<test-folder-name>|<test-file-name>]

如果没有指定文件夹(<test-folder-name>)或文件(<test-file-name>),则运行器默认为文件夹tests/

Phut的未来

未来版本的功能

  • 更完善的Assert类
  • 使用@TestCase注解编写参数化测试
  • @Test注解提供可选的Category参数,以便能够分类测试并仅运行特定类别的测试

版权

版权所有©2012,Joakim Bengtson。请参阅LICENSE。

有问题吗?

您可以在GitHub上找到我,并通过twitter在@joakimbeng上联系我。