ruby-on-rails - Ruby on Rails 中的全栈测试选项

标签 ruby-on-rails unit-testing testing selenium cucumber

Rails 应用程序的全栈测试有很多选项。有些使用真正的浏览器,有些是 headless 的,有些根本不运行 javascript。

您使用或推荐哪些工具,为什么?

浏览器模拟器或自动化器列表:

  • Rails 内置支持集成和功能测试(无 JS)
  • 网站
  • Webrat::selenium
  • Selenium
  • 敏捷(通过 Culerity)
  • 瓦提尔
  • ...

测试 DSL 和框架列表:

  • Rails 默认设置(断言,...)
  • 应达
  • cucumber
  • Capybara(多个浏览器模拟器的统一 DSL)
  • ...

最佳答案

所有 Rails 应用程序都受益于单元和功能测试的良好覆盖,无论您使用 rspec 还是 shoulda 等,主要是个人喜好问题。我是 shoulda 的粉丝,主要是因为它提供的上下文 block ,使设置测试场景更容易和更容易理解。

我不认为需要浏览器模拟器/自动化程序,除非您的应用程序非常依赖 javascript。我建议只使用它们来测试 javascript,为此目的,驱动真正的浏览器肯定比模拟更好。我现在正在开发的应用程序非常依赖 javascript,我们使用 cucumberwatir/firewatir 来运行我们的 cucumber 测试firefox 用于我们网站上的 javascript 驱动功能。

关于ruby-on-rails - Ruby on Rails 中的全栈测试选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3842253/

相关文章:

ruby-on-rails - 如何通过 Rails 中的 Controller 或 View 的路由添加额外的参数

python - 检查 unittest.mock 调用参数不可知 w.r.t.它们是作为位置参数还是关键字参数传递

javascript - Chai:在没有传递参数时在 async/await 上抛出错误

使用 100 台设备进行测试

javascript - 出错时显示div

ruby-on-rails - 在我的 Rails 应用程序上发送电子邮件时出现 Net::SMTPUnknownError (could not get 3xx (550)) 错误

Python模拟多个返回值

java - 如何替换 Android Activity 用于自动化测试的对象类的实现?

ruby - 规范测试基于 EventMachine 的(Reactor)代码

ruby-on-rails - JSONAPI-资源:NameError 找不到资源