我正在开发我的第一个简单的Rails应用程序.而现在我刚做完我的作业,我应该先做其他事情 – rspec测试.我故意将它推迟,因为没有经验我甚至不确定什么以及如何进行rspec测试.最后,我可能对我的模型和控制器进行了大多数测试,现在是时候考虑我的测试覆盖了代码的程度.
然后我找到了rake stats,它告诉我:
+----------------------+-------+-------+---------+---------+-----+-------+ | Name | Lines | LOC | Classes | Methods | M/C | LOC/M | +----------------------+-------+-------+---------+---------+-----+-------+ | Controllers | 214 | 161 | 4 | 29 | 7 | 3 | | Helpers | 12 | 12 | 0 | 1 | 0 | 10 | | Models | 17 | 13 | 2 | 0 | 0 | 0 | | Mailers | 0 | 0 | 0 | 0 | 0 | 0 | | Javascripts | 29 | 3 | 0 | 1 | 0 | 1 | | Libraries | 0 | 0 | 0 | 0 | 0 | 0 | | Helper specs | 15 | 4 | 0 | 0 | 0 | 0 | | Controller specs | 170 | 137 | 0 | 0 | 0 | 0 | | Model specs | 78 | 65 | 0 | 0 | 0 | 0 | +----------------------+-------+-------+---------+---------+-----+-------+ | Total | 535 | 395 | 6 | 31 | 5 | 10 | +----------------------+-------+-------+---------+---------+-----+-------+ Code LOC: 189 Test LOC: 206 Code to Test Ratio: 1:1.1
它显示了我的控制器和模型有多少个类和方法.但我在这里缺少的是测试了多少.我希望在那里有它而不是零.同时很高兴知道哪些方法没有测试.是否有宝石提供该信息或其他方式来检查它?
解决方法
我推荐
SimpleCov.
这是一个很好的起始配置,可以放入spec_helper.rb:
SimpleCov.start do add_filter '/test/' add_filter '/config/' add_filter '/vendor/' add_group 'Controllers','app/controllers' add_group 'Models','app/models' add_group 'Helpers','app/helpers' add_group 'Mailers','app/mailers' end # This outputs the report to your public folder SimpleCov.coverage_dir 'public/coverage'
这使得它忽略了测试,配置和供应商文件夹中的文件,并在HTML报告中的各自选项卡下对控制器,模型,帮助程序和邮件程序进行分组.