blainesch/li3_unit

增加了额外的断言方法以及创建模型、控制器和辅助工具的简单方式。

安装: 17

依赖: 0

建议: 0

安全: 0

星标: 4

关注者: 0

分支: 1

类型:lithium-library

v1.0.1 2012-11-26 15:33 UTC

This package is not auto-updated.

Last update: 2024-09-22 02:21:49 UTC


README

增加了额外的断言方法以及创建模型、控制器和辅助工具的简单方式。

Build Status

安装

Composer

{
    "require": {
        ...
        "composer/installers": "*",
        "blainesch/li3_unit": ">=1.0.0"
        ...
    }
}
php composer.phar install

子模块

git submodule add git://github.com/blainesch/li3_unit.git libraries/li3_unit

直接克隆

git clone git://github.com/blainesch/li3_unit.git libraries/li3_unit

使用

加载插件

将插件添加到Lithium的自动加载魔法中

app/config/bootstrap/libraries.php中添加

<?php
	Libraries::add('li3_unit');
?>

额外的断言

目前测试扩展自\lithium\test\Unit,扩展\li3_unit\test\Unit可以访问默认的lithium Unit扩展的新断言方法。要了解所有不同的断言,请访问assertions.md文件。

<?php

namespace app\tests\cases;

use li3_unit\test\Unit;

class SampleTest extends Unit {

	public function testSomething() {
		$this->assertCount(3, array('foo', 'bar', 'baz'));
	}

}
?>

调用控制器

而不是扩展内置的Unit类,扩展ControllerUnit。您仍然可以访问所有额外的断言方法和Lithium的内置功能,同时还可以访问一个新的'call'方法。

<?php

namespace app\tests\cases\controllers;

use li3_unit\test\ControllerUnit;

class UsersControllerTest extends ControllerUnit {

	public $controller = 'app\\controllers\\UsersController';

	public function testSomething() {
		$data = $this->call('profile', array(
			'params' => array(
				'name' => 'Blaine',
			)
		));

		$user = $data['user'];

		$this->assertEqual('Blaine', $user->username);
	}

}
?>

调用辅助工具

类似于之前,我们将ControllerUnit更改为HelperUnit,并可以访问一个新的方法'create',这将帮助我们创建新的辅助工具以进行测试。

<?php

namespace app\tests\cases\extensions\helper;

use li3_unit\test\HelperUnit;

class ProseTest extends HelperUnit {

	public $prose;

	public function setUp() {
		$this->prose = $this->create('Prose');
	}

	public function testFourEightStarStatement() {
		$expected = 'Amazing';
		$this->assertEqual($expected, $this->prose->starStatement(4.8));
	}

}
?>

调用模型

您可能更适合使用类似li3_fixtures的库,但对于那些只想有一个包的人来说,这个库可以帮助测试非关系型模型实例方法。

<?php

namespace app\tests\cases\models;

use li3_unit\test\ModelUnit;

class UsersTest extends ModelUnit {

	public $model = 'app\\models\\Users';

	public $defaultData = array(
		'id' => '10',
		'fname' => 'Blaine',
		'lname' => 'Smith',
	);

	public function testName() {
		$user = $this->create(array(
			'fname' => 'Blaine',
			'lname' => 'Schmeisser',
		));
		$expected = 'Blaine Schmeisser';
		$this->assertEqual($expected, $user->fullName());
	}

}
?>