小编Jef*_*rin的帖子

在Rails中测试暂存/生产环境的最佳方法是什么?

一,设置......

我目前正在使用Ruby 1.8.7 MRI在Mac OS X上开发Rails 3应用程序,针对MySQL数据库运行测试和本地开发.我有3个"其他"非本地环境,我们在公司为每个名为dev,tqa和prod的应用程序使用.它们使用JRuby(1.8.7)和Oracle作为后端在Tomcat中运行.

正如你所看到的,环境是完全不同的,我们碰到的有关部署的一些错误到Oracle/JRuby的环境中不存在的本地(如日期处理,并在指定的Oracle默认模式).

我喜欢在本地运行像Cucumber/Webrat/Capybara这样的东西来点击应用程序中暴露的每个URL,以确保基本的东西正常工作(即,冒烟测试).理想情况下,它会点击每个网址,并会执行一些简单的操作,例如在表单中输入数据和点击按钮等.

理想情况下,当我部署到dev/tqa时,我会运行类似的东西,除了指向已部署的应用程序而不是本地应用程序.黄瓜似乎已经过优化,可以在本地运行的应用程序上运行,并且可以很好地与Rails集成,但是无法针对所有意图运行"外部"应用程序(或者至少我找不到实际工作的简单方法).

此外,当我部署到prod时,我想要运行一组类似的冒烟测试,除非它不会改变当前生产数据库的状态(即,只会获取GET URL).

我猜想可以使用像Selenium这样的东西,但我真的很喜欢只运行一个rake任务并像使用Cucumber那样取回结果.

是否有任何Rails/Ruby方法可以做到这一点,或者其他人是否只使用wget或Selenium推出自己的解决方案?

此处提出了类似的问题:部署后,自动对应用程序中的所有网页进行测试

不过,我不确定这个问题究竟是我的想法.

ruby ruby-on-rails smoke-testing cucumber

15
推荐指数
2
解决办法
3985
查看次数

在Rubymine中运行默认调试命令时设置环境变量

我的Rails应用程序中的功能规范使用Capybara通过浏览器运行测试.默认情况下,他们使用phantomjs/poltergeist和机架测试驱动程序,这些驱动程序是无头的.

通常需要使用运行可见浏览器的capybara驱动程序运行单个规范(或spec文件),以便我可以看到正在发生的事情.对于这个用例,我使用Selenium.当我想使用Selenium运行规范时,我在运行rspec之前设置了一个环境变量(DEBUG = true),如下所示:

DEBUG=true rspec spec/features/my_spec.rb
Run Code Online (Sandbox Code Playgroud)

我的spec_helper查找DEBUG环境变量并使用Selenium而不是默认驱动程序运行规范.我想在Rubymine中复制这个功能,这样当我右键单击项目树中的规范并单击"Debug'Run spec ...'"时,它会设置DEBUG环境变量并运行规范硒司机.如何配置默认的"Debug"配置来设置此环境变量?

rspec ruby-on-rails rubymine

4
推荐指数
1
解决办法
2536
查看次数

标签 统计

ruby-on-rails ×2

cucumber ×1

rspec ×1

ruby ×1

rubymine ×1

smoke-testing ×1