![](/img/trans.png)
[英]Ruby on Rails Full Stack application Scaling Up issue on Kubernetes
[英]Options for full stack testing in Ruby on Rails
Rails应用程序的全栈测试有很多选择。 有些使用真正的浏览器,有些是无头的,有些根本不运行javascript。
您使用或推荐哪些工具?为什么?
浏览器模拟器或自动机列表:
测试DSL和框架的列表:
所有轨道应用程序都受益于单元和功能测试的良好覆盖,无论您使用rspec还是shoulda等,主要是个人偏好问题。 我的粉丝shoulda
大多为它提供上下文块,从而建立测试方案更容易和更清晰理解。
我不认为需要浏览器模拟器/自动机,除非您的应用程序非常重要。 我建议只使用它们来测试javascript,为此目的,驾驶真正的浏览器比模拟更好。 我正在研究的应用程序非常重,我们正在使用cucumber
和watir
/ firewatir
在我们的网站上运行我们在firefox中的黄瓜测试。
在过去的几年里,我在Rails职业生涯中使用了很多东西。
目前在JRuby上开发一个非常大的Rails应用程序,测试覆盖率非常可靠,我们的堆栈如下所示。
单元测试:
功能测试:
在我正在进行的项目中,为了测试整个堆栈,我们使用Cucumber和capybara作为驱动程序。
前端是非常沉重的javascript,我尝试了几个无头浏览器驱动程序(capybara-envjs和akephalos),但两者都错误地失败了在真实浏览器中传递的测试。
我正在使用Cucumber + Capybara与selenium-webdriver和机架测试驱动程序的组合。 Capybara很好地抽象了由selenium-webdriver驱动的浏览器内测试之间的区别,这些测试实际上可以测试JavaScript在浏览器中的工作情况,但需要一段时间才能运行并测试只针对由控制器/动作,运行速度更快,但不测试JavaScript。 这意味着可以在浏览器中运行同一组场景和步骤定义,而无需维护重复的步骤定义集。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.