接近年底,人手紧张。为了保证进度的同时还要保证质量,于是就单元测试就出现在了淡水的视野。
由于采用codeigniter2,所以首选是内置的unit_test类。但是实在是比较的简单,所以就看中了simpletest。 但是ci+simpletest整合起来,网上可用的并不多。支持1.6/1.7的倒是有。
最后才用呢了codeigniter—simpletest,但是默认在php5.2下,并不能运行。做了些调整,嗯。记录一下。
##安装 unit_test.php文件应该放在CodeIgniter的根目录,也就是index.php相同的地方 打开这个文件,并且在文件顶部改变一下以适合你的路径。 tests目录可以放到任何你想放的地方,但放在根目录比较好。 所有测试文件需要命名成“test_name_folder.php”的格式。例如: test_whatever_bug.php test_string_helper.php test_auth_library.php test_core_model.php 增加了一个完整的simpletest下载,仅定制了“simpletest/extensions/my_reporter.php”。
##注: 在目录“tests”里,包含了两个测试文件的例子。test_users_model。php并能运行,因为你的程序里没有对应的user model。它只是一个提供的指导。 注意,simpletest版本不支持php 5.3
下面的修改很重要!!!
淡水的本机测试无法成功,查看日志后,淡水做了如下修改: 1,unit_test.php 的32-36行;的构造函数: public function __construct($lable=false) { parent::__construct($lable); $this->_ci =& get_instance(); }
2,test/tests/test_gui.php增加编码支持:
3,test_123_bug.php的构造函数里,调用父类构造时,添加了测试主题。方便显示。可以忽视。
4,test_user_model.php的构造改用php5的方式调用: public function __construct() { parent::__construct(‘Users Model’); $this->load->model(‘users/users_model’); $this->rand = rand(500,15000); }
5,另外还增加了test_homepage.php的demo,来演示如何测试界面。
最后修改于 2011-10-29