如何赶上Rails网站的测试

时间:2013-05-20 15:39:32

标签: ruby-on-rails ruby testing automated-tests integration-testing

我学习了Rails来创建一个网站,基本版本已经启动并运行。不幸的是,我只为我的代码编写了几个测试。我现在应该怎么做以获得我的代码的测试覆盖率?现在回去并为我以前的所有代码编写测试都很困难。使用Selenium等录音工具访问网站并记录测试是否有意义?是否有针对Rails的特定录制工具?

(简而言之,如何能够在没有足够测试的代码上获得测试覆盖率?)

2 个答案:

答案 0 :(得分:1)

首先,使用rcov等工具定量测量您的测试覆盖率。

你是对的,集成测试会提供更多的覆盖范围,因此它们是您目标的正确选择。但是,它们在失败时提供的反馈意义较小,因此您希望将来使用更加孤立的测试来增加或替换它们。

我希望录音测试能够导致人类难以阅读的测试。因此,您可能需要考虑使用capybara-webkit(但don't use capybara 2.1 yet)。

最后,由于您当前的测试版很小,因此您有机会考虑rspecshoulda-context

答案 1 :(得分:0)

事实是,你将不得不回过头来进行所有测试。

首先,没有任何“录音”工具可以帮助进行单元和控制器测试。

其次,如果您确实使用某些内容来“记录”功能/集成测试,那么您究竟要测试什么?如果你不具备你期望在那里的功能,你怎么能确定你的应用程序现在甚至在做它应该做的事情?