3

我从不为测试而烦恼,因为我的应用程序相对简单,我想专注于学习 ruby​​ 和 rails,以及开发功能。我想要一些使用起来相对简单的工具/宝石。理想情况下,我想做:

  • 模型测试
  • 辅助测试
  • 集成测试(我不会直接测试我的视图或控制器)
  • 查看测试覆盖率
  • 自动化(用一个命令运行我所有的测试)

我正在考虑前两个的 MiniTest(或 RSpec?),添加 Capybara 进行集成测试,我不知道后两个。

我在用着:

  • OSX 10.7.3
  • 红宝石 1.9.3-p194
  • 导轨 3.2.3

谢谢!

4

3 回答 3

3

为了为每项任务找到合适的工具,我推荐ruby​​-toolbox.com并按类别搜索,在您的情况下是“代码度量”和“持续测试”。这样,可能的解决方案就会按 ruby​​ 社区中的受欢迎程度和使用率排序。

对于那些特定的任务,我分别使用 SimpleCov 和 Guard。

关于你提到的测试,无意冒犯,但你知道什么是 BDD(行为驱动开发)吗?和 TDD(测试驱动开发)的区别?

如果是,我很抱歉,但我提到它以防万一。如果不只是快速进行谷歌搜索,然后决定您想要哪种测试范式,以及出于何种目的。

我个人尝试在我的项目中应用 BDD 概念,我使用 Cucumber 作为功能,同时使用 RSpec 作为规范。

顺便说一句,“The RSpec Book”是一本关于它的优秀书籍,它涵盖了 RSpec、Cucumber、Webrat(非常类似于 capybara,现在最流行)和 Selenium。

希望这有帮助,如果不是太多的信息.​​.....

于 2012-04-22T02:55:18.127 回答
1

从模型测试开始。它最容易理解和编码。
它将帮助您尝试将业务逻辑集中在模型中以及编写通过 API 运行的 RESTful 代码。

然后转到控制器测试,我们更接近于测试最终用户真正在做什么的实际流程。

Next 助手测试通常相当容易。

最后,您可能想要进行实际的视图测试,但我现在暂缓。

绝对立即使用rspec并节省以后切换的时间。

您可以使用一个命令运行所有测试,也可以单独运行它们。

在构建套件时,您应该考虑将Guard用于持续集成测试环境。

于 2012-04-22T02:47:47.557 回答
0

这是我对另一个问题的回答的副本

有许多工具可以从许多不同方面测试 rails 和其他 web 应用程序。但是,如果您是测试新手,我强烈建议您先学习 Rails 自己的测试框架,然后再开始使用其他工具。

学习并随后掌握一个测试框架可以使将来更容易理解其他框架的优缺点,并使它们协同工作。

您可以从测试以下内容开始:

  • 单元测试你的模型
  • 控制器的功能测试
  • 了解 Fixtures 以及如何加载测试数据

我见过许多失败的测试工作,但我从未见过他们因为选择了错误的工具/框架而失败。他们失败是因为他们不知道如何掌握他们使用的工具,并且对测试的基础知识了解不够。

在此处阅读有关 Rails 测试的更多信息。
http://guides.rubyonrails.org/testing.html

于 2013-01-18T10:26:34.560 回答