用户
 找回密码
 入住 CI 中国社区
搜索
楼主: fltn03
收起左侧

PHPUnit与CI结合进行单元测试以及代码覆盖率

[复制链接]
 楼主| 发表于 2012-10-15 14:40:51 | 显示全部楼层
大道达人 发表于 2012-10-15 13:02
$_POST应该在前

谢谢你!
是我的失误,$_POST应该放在待执行的函数之前.
应该是这样:
PHP复制代码
 
function testMyfunc()
{
    $_POST['表单字段'] = '对应的值';
    $result = $this->CI->myfunc();
    $this->asserEquals(true, $result);
}
 
复制代码
发表于 2012-11-13 16:20:14 | 显示全部楼层
3Q
发表于 2012-11-14 15:27:18 | 显示全部楼层
fltn03 发表于 2012-9-25 10:10
你找到bootstrap_phpunit.php文件,查看第62行和170行至173行的代码:
62行:

谢谢
发表于 2013-3-6 15:33:03 | 显示全部楼层
写的真是太详细了,学习下。
发表于 2013-8-17 12:04:44 | 显示全部楼层
太好了,实验成功!
大项目必须有单元测试
 楼主| 发表于 2013-8-18 10:12:53 | 显示全部楼层
雪冷书 发表于 2013-8-17 12:04
太好了,实验成功!
大项目必须有单元测试

希望对你有帮助!
发表于 2013-8-19 21:11:43 | 显示全部楼层
真的很有帮助,谢谢你。
之前写php是没有使用任何框架,ci是我第一个考虑使用的框架,但之前在写是就觉得测试不好做。
与以基本会一点之后就找ci对单元测试的支持。之前使用phpunit,所以不太想使用ci提供的。
那天在论坛上找到你写的这篇文章,试验成功。现在准备用ci开发一个系统试试。
发表于 2013-11-20 14:49:39 | 显示全部楼层
本帖最后由 gainyray 于 2013-11-20 16:33 编辑

phpunit 怎么在测试前 自动创建数据库(最好是先能执行数据库脚本) ,看到phpunit手册上说的:

"PHPUnit 要求在测试套件开始时所有数据库对象必须全部可用。数据库、表、序列、触发器还有视图,必须全部在运行测试套件之前创建好。Doctrine 2 或        eZ Components 拥有强力的工具,可以按预定义的数据结构创建数据库,但是这些都必须和 PHPUnit 扩展模块对接之后才能自动在整个测试套件运行之前重新创建数据库。"

看了两个软件的说明文档,还是一头雾水,求大神解答啊,先谢谢了。。。
发表于 2013-12-3 08:03:32 | 显示全部楼层
谢楼主了,感激之至啊!
发表于 2013-12-17 11:00:49 | 显示全部楼层
请教下大家,我运行,出现
E:\xampp\htdocs\outSend\tests>phpunit --coverage-html coerage_report
PHPUnit 3.7.21 by Sebastian Bergmann.

The Xdebug extension is not loaded. No code coverage will be generated.


[CIUnit] PHP Error: Notice - Undefined index: REMOTE_ADDR File Path: core/Input.
php (line: 351)
............

Time: 484 ms, Memory: 5.50Mb

OK (12 tests, 8 assertions)

[CIUnit] PHP Error: Notice - Undefined index: REMOTE_ADDR File Path: core/Input.
php (line: 351)

这个是缺少什么文件吗,还是没配置好

本版积分规则