我学习了Rails来创建一个网站,基本版本已经启动并运行。不幸的是,我只为我的代码编写了几个测试。我现在应该怎么做以获得我的代码的测试覆盖率?现在回去并为我以前的所有代码编写测试都很困难。使用Selenium等录音工具访问网站并记录测试是否有意义?是否有针对Rails的特定录制工具?
(简而言之,如何能够在没有足够测试的代码上获得测试覆盖率?)
答案 0 :(得分:1)
首先,使用rcov等工具定量测量您的测试覆盖率。
你是对的,集成测试会提供更多的覆盖范围,因此它们是您目标的正确选择。但是,它们在失败时提供的反馈意义较小,因此您希望将来使用更加孤立的测试来增加或替换它们。
我希望录音测试能够导致人类难以阅读的测试。因此,您可能需要考虑使用capybara-webkit(但don't use capybara 2.1 yet)。
最后,由于您当前的测试版很小,因此您有机会考虑rspec或shoulda-context。
答案 1 :(得分:0)
事实是,你将不得不回过头来进行所有测试。
首先,没有任何“录音”工具可以帮助进行单元和控制器测试。
其次,如果您确实使用某些内容来“记录”功能/集成测试,那么您究竟要测试什么?如果你不具备你期望在那里的功能,你怎么能确定你的应用程序现在甚至在做它应该做的事情?