depot> rake clone_structure_to_test
运行Model测试:
rake test_units
运行controller测试:
depot>rake test_functional
运行所有测试rake命令不需要带参数:
depot>rake
有时我们不想次运行那么多测试我们可以使用ruby自己命令来替代:
depot>ruby test/functional/search_controller_test.rb -n test_search
也可以:
depot>ruby test/functional/search_controller_test.rb -n /search/
test_search和/search/是等价
当然最好能够创建个可以自动运行脚本来运行测试这样既可以充分利用机器空闲时间又可以保证如果你改动引发了bug你测试能够及时捕捉到DamageControl可以帮助你完成这项工作
使用Rake还可以对你source进行统计包括model和controller数目思路方法数目行数等使用命令:
depot>rake stats
将得到下面输出:
+----------------------+-------+-------+---------+---------+-----+-------+
| Name | Lines | LOC | Classes | Methods | M/C | LOC/M |
+----------------------+-------+-------+---------+---------+-----+-------+
| Controllers | 251 | 213 | 5 | 29 | 5 | 5 |
| Helpers | 14 | 13 | 0 | 1 | 0 | 11 |
| Models | 113 | 101 | 6 | 16 | 2 | 4 |
| Libraries | 0 | 0 | 0 | 0 | 0 | 0 |
| Components | 0 | 0 | 0 | 0 | 0 | 0 |
| Integration tests | 0 | 0 | 0 | 0 | 0 | 0 |
| Functional tests | 241 | 192 | 8 | 30 | 3 | 4 |
| Unit tests | 88 | 74 | 4 | 11 | 2 | 4 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total | 707 | 593 | 23 | 87 | 3 | 4 |
+----------------------+-------+-------+---------+---------+-----+-------+
Code LOC: 327 Test LOC: 266 Code to Test Ratio: 1:0.8
嗯还不错起码很方便
从上面表格中我们看到写了些测试代码但是我们怎样才能保证测试覆盖度呢?有个工具Ruby Coveragerails并没有包含它使用Ruby Coverage可以生成个html格式报表其中包含了测试覆盖百分比还能标出哪行代码没有被测试到
有关Ruby Coverage可以在这里下载下载后解压在rails命令行里也就是我们常用depot上级目录依次执行命令:
ruby Z:toolscoverage-0.2coverage-0.2.rb config
ruby Z:toolscoverage-0.2coverage-0.2.rb up
ruby Z:toolscoverage-0.2coverage-0.2.rb
蓝色就是coverage安装文件执行上面命令后Ruby Coverage安装就完成了现在我们可以用它来生成测试覆盖报告运行命令:
ruby -rcoverage test/functional/search_controller_test.rb
和我们以前测试相比只是添加了中间蓝色部分完成后在depot目录下会有个coverage目录存放了生成html文件打开看看覆盖到代码会用蓝色标示没有覆盖到代码会以灰色表示
本篇我们粗略介绍了rake命令和ruby coverage下次我们来看看性能测试
最新评论