小编jus*_*see的帖子

使用Rails 3引擎的Gem依赖项在初始化程序中失败

tldr; 当我在使用Engine的测试应用程序中运行rake任务时,似乎没有遵守Engine依赖项.我必须通过在测试应用程序的Gemfile中指定依赖项来(-D)RY

我使用Jeweler创建了一个Rails引擎作为宝石.它依赖于我在Rakefile中指定的Devise:

gem.add_runtime_dependency 'devise', '~> 1.1.3'
Run Code Online (Sandbox Code Playgroud)

在我的测试应用程序中,我将引擎依赖项添加到Gemfile,并bundle install显示已选择并安装了Devise.但是,如果我运行初始化rake db:migrate,则会抛出错误:

uninitialized constant Devise
<snip>config/initializers/devise.rb:3
Run Code Online (Sandbox Code Playgroud)

如果我手动将Devise依赖项添加到测试应用程序的Gemfile中,它就可以工作.我可能错过了一些显而易见的事情,但是在这个阶段,测试应用程序似乎选择并正确安装了依赖项,但由于某种原因,初始化程序代码会失败,除非在测试应用程序的Gemfile中再次列出依赖项.

gem bundler ruby-on-rails-3

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

如何在Rails 3项目的Cucumber中正确执行Capybara @javascript标签?

我在一个新的Rails 3项目中为Capybara换了Webrat.我在这里浏览了Tim Riley的精彩帖子(http://openmonkey.com/articles/2010/04/javascript-testing-with-cucumber-capybara),并克隆了他的存储库,执行了示例黄瓜功能,并看到了浏览器窗口打开.所以整个Cucumber,Capybara,Selenium堆栈似乎在这种情况下运行良好.

但是,如果我创建一个新的Rails 3项目,运行设置一个类似的示例项目,并使用@javascript注释一个场景,浏览器窗口不会触发,而Cucumber场景只是失败了,通常Command failed with status (1) event(在失败的情况下)或者未决的步骤,Cucumber通过设计触发CI工具的好处).

除了Capybara提供的@javascript功能外,所有其他功能都可以正常工作.

我错过了一些非常明显的东西吗?BDD新手是否有办法更深入地研究问题(堆栈跟踪只显示Cucumber失败时的标准rake错误).

  • rvm 1.9.2-head
  • gem'rail','3.0.0.rc'
  • 宝石'黄瓜'
  • 宝石'黄瓜 - 铁轨'
  • 宝石'capybara'
  • 宝石'culerity'
  • gem'celeler',:require => nil

ruby bdd ruby-on-rails cucumber capybara

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

标签 统计

bdd ×1

bundler ×1

capybara ×1

cucumber ×1

gem ×1

ruby ×1

ruby-on-rails ×1

ruby-on-rails-3 ×1