浏览 5392 次
精华帖 (0) :: 良好帖 (3) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-09-10
最后修改:2010-09-10
色色写的简易PHP单元测试框架 Kenxu_Uint v0.1发布了,
呵呵呵,终于可以不用PHP UNIT了 虽然很强大 但是很麻烦 安装的时候 日 还要pear的支持 ... 自己写了个
上代码看看:
要测试的模型类:
测试用例类 测试结果:
整个测试框架代码不超过12K,....................... 提供了一个例子,结构如下:
function fetchBooksTest(){ $books = $this->_modBook->fetchBooks() ; Kenxu_Unit_Assert::assertThat( count($books),array(array('equal',3, '图书个数为3')) ,'测试图书元素' ); Kenxu_Unit_Assert::assertThat( !$books,array(array('not_empty','值不能为空')) ,'测试图书元素' ); Kenxu_Unit_Assert::assertNotNull( !$books,'图书表中数据为空' ); }
这个方法里面的 Kenxu_Unit_Assert::assertThat 原型: static function assertThat($value,array $rules=null,$description=null) $rules 支持多个测试条件
比如这样的 array( array('not_empty',true, '游戏名称不能为空'), array(array($this,'is_validname'),true,'游戏名称 不能包含特殊字符'), array(array($this->_modGame,'isUniqueFieldValue'),'gamename','游戏名称 已经存在'), )
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-09-10
关于大Z做的CoreAMP使用PhpUint的用法:
引用 下载完CoreAMP,以及start20100827.bat补丁。 修改这个批处理,加上PHPUnit参数 ::PHPUnit命令参数,以下是示例请自行修改。 set phpunit=--bootstrap bootstrap.php --include-path ..\..\coremvc\svn\trunk ..\..\coremvc\svn\trunk\tests 在控制中心选择24即可。 |
|
返回顶楼 | |
发表时间:2010-09-10
测试记录 sql:
DROP TABLE IF EXISTS `books`; CREATE TABLE `books` ( `id` int(11) NOT NULL auto_increment, `author_id` int(11) NOT NULL, `name` varchar(80) collate utf8_unicode_ci NOT NULL, `description` text collate utf8_unicode_ci NOT NULL, `created_at` datetime default NULL, `updated_at` datetime default NULL, PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`) ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- ---------------------------- -- Records of books -- ---------------------------- INSERT INTO `books` VALUES ('1', '10', '小王子', '一直图书', null, null); 因为是一条记录 , 所以上面图中 显示 成功1次 失败两次 并标明了 失败代码的位置和行号 能对多个测试用例进行 测试 呵呵 |
|
返回顶楼 | |
发表时间:2010-09-10
代码 正在弄 google code 申请 ...下周提供 下班了 Ooo
|
|
返回顶楼 | |
发表时间:2010-09-13
http://code.google.com/p/kenxu-unit/
项目托管地址.... 现在为 0.1的版本 |
|
返回顶楼 | |
发表时间:2010-09-13
http://qeephp.com/projects/kenxuunittesting
|
|
返回顶楼 | |
发表时间:2010-09-14
你这样的框架太弱了,只做这样的单元测试没有太大意义。
单元测试框架应该能够实现机制保证可以不断的重复测试。 所以构造虚拟的数据,mock等功能是必须要的。 这样的简化不符合单元测试的初衷 |
|
返回顶楼 | |
发表时间:2010-09-14
嗯 说的很对 后续版本会跟上的 主要是项目应用 随着项目 这个东西功能会扩充的...
|
|
返回顶楼 | |
发表时间:2010-09-14
我个人因为之前没有在大公司呆过,也没有做过大型网站项目的经验,期待大家教我...
|
|
返回顶楼 | |
发表时间:2010-10-13
引用 /**
* Sqlobject 适配器,建立在框架的数据库操作基础上的SQL抽象组件 * * <code> * $sqlSelectInst = Kenxu_DB::getDBO($dbDsn)->getSqlobjectInstance() * ->newInstance('select','authors.*,books.*','users,books',array( * 'authors.id' => 'books.author_id' * ); * $sqlInst->limit($offset,$length); * * </code> * * * @author KenXu * @date: 2010-7-22 上午11:54:26 */ |
|
返回顶楼 | |