Rails 应用程序的全栈测试有很多选项。有些使用真正的浏览器,有些是 headless 的,有些根本不运行 javascript。
您使用或推荐哪些工具,为什么?
浏览器模拟器或自动化器列表:
- Rails 内置支持集成和功能测试(无 JS)
- 网站
- Webrat::selenium
- Selenium
- 敏捷(通过 Culerity)
- 瓦提尔
- ...
测试 DSL 和框架列表:
- Rails 默认设置(断言,...)
- 应达
- cucumber
- Capybara(多个浏览器模拟器的统一 DSL)
- ...
最佳答案
所有 Rails 应用程序都受益于单元和功能测试的良好覆盖,无论您使用 rspec 还是 shoulda 等,主要是个人喜好问题。我是 shoulda
的粉丝,主要是因为它提供的上下文 block ,使设置测试场景更容易和更容易理解。
我不认为需要浏览器模拟器/自动化程序,除非您的应用程序非常依赖 javascript。我建议只使用它们来测试 javascript,为此目的,驱动真正的浏览器肯定比模拟更好。我现在正在开发的应用程序非常依赖 javascript,我们使用 cucumber
和 watir
/firewatir
来运行我们的 cucumber 测试firefox 用于我们网站上的 javascript 驱动功能。
关于ruby-on-rails - Ruby on Rails 中的全栈测试选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3842253/