2

我学习了 Rails 来创建一个网站,并且基本版本已经启动并运行。不幸的是,我只为我的代码编写了几个测试。我现在应该怎么做才能获得代码的测试覆盖率?现在很难回去为我以前的所有代码编写测试。使用像 Selenium 这样的记录工具来访问站点并记录测试是否有意义?Rails 有专门的录制工具吗?

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

4

2 回答 2

1

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

集成测试将提供更多覆盖率是对的,因此它们是您实现目标的正确选择。但是,当它们失败时,它们提供的反馈意义不大,因此您将来需要用更孤立的测试来增加或替换它们。

我希望记录测试会导致测试的来源难以让人阅读。因此,您可能需要考虑capybara-webkit(但不要使用 capybara 2.1)。

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

于 2013-05-20T15:59:10.700 回答
0

事实是,您将只需要返回并纠正所有测试。

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

其次,如果你确实使用了一些东西来“记录”特性/集成测试,你到底会测试什么?如果您不具体说明您期望在那里的功能,那么您如何确定您的应用程序现在正在做它应该做的事情?

于 2013-05-20T16:01:52.770 回答