我最近在尝试运行任何Cucumber测试时都开始看到此错误消息.我做了一些研究,发现了一些其他类似的错误实例,但大多数是与浏览器相关的问题.我在此输出中看不到任何特定于浏览器的错误消息:
unable to bind to locking port 7054 within 45 seconds (Selenium::WebDriver::Error::WebDriverError)
Run Code Online (Sandbox Code Playgroud)
我看到这里发布的另一个问题得到解答(硒webdriver例外),但是这个解决方案对我不起作用.运行" lsof -i TCP:7054 "不会产生任何输出.
如果有人建议这样做,我已经多次重新启动我的机器并擦掉我的宝石并重新运行"捆绑".
以下是我正在使用的相关宝石:
capybara (0.4.1.2)
cucumber (0.10.7)
cucumber-rails (0.4.1)
fuubar-cucumber (0.0.9)
selenium-webdriver (0.2.0)
Run Code Online (Sandbox Code Playgroud)
可以肯定的是,我也试过用Firefox 3.6,4.0和5.0运行这些测试.每次都是相同的消息.
不要成为阴谋理论家或任何东西,但在手动退出运行我的测试套件并在Cucumber启动的所有活动Firefox进程上运行之前,一切正常.我在测试套件中同时运行了大约9个Firefox实例.我不确定这是否会导致某些事情发生,从而产生我现在看到的运行Cucumber测试的结果.
有没有人有解决这个问题的建议?
我刚开始使用JRuby on Rails并且非常喜欢它.我知道如何在我的Rails应用程序中使用Java API中的当前类,但如果我想创建一个用纯Java代码编写的新自定义类,我怎样才能在我的Rails应用程序中使用它?
例如,假设我创建了Dog.java:
class Dog {
private String name;
public Dog() {
name = "Fido";
}
public String getName() {
return name;
}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能在我的Rails应用程序中创建一个新的Dog对象(Dog.new)?我需要将Dog.java或Dog.class文件放在某处,然后调用某种形式的"import"将其导入我的Rails应用程序.我不知道这应该放在目录结构中,也不知道我应该在哪里以及如何告诉我的应用程序如何包含它.
我很擅长构建Ruby宝石,并且正在尝试我的第一个宝石.我正在为我的gem编写一个生成器,它将在我的Rails应用程序中生成一个迁移.我只是想在Rails应用程序中包含gem,运行"rails g mygem:install"让它创建迁移,然后运行"rake db:migrate"来完成所有操作.
我找到了几种不同的方法来完成类似的任务,但到目前为止还没有任何工作.我似乎无法让Rails应用程序找到生成器.我尝试过的最新指南位于:http://www.railsdispatch.com/posts/how-rails-3-enables-more-choices-part-1.
这是我目前的宝石结构:
-lib/
-generators/
-templates/
-some_migration.rb
-install_generator.rb
-gemname/
-rails/
-railtie.rb
-engine.rb
-tasks/
-gemname.rake
-gemname.rb
-spec/
-gemname.gemspec
Run Code Online (Sandbox Code Playgroud)
这是我的install_generator.rb文件的样子:
require 'rails'
module Gemname
class InstallGenerator < ::Rails::Generators::Base
include Rails::Generators::Migration
source_root File.expand_path('../templates', __FILE__)
desc "add the migrations"
def self.next_migration_number(path)
unless @prev_migration_nr
@prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
else
@prev_migration_nr += 1
end
@prev_migration_nr.to_s
end
def copy_migrations
migration_template "some_migration.rb", "db/migrate/some_migration.rb"
end
end
end
Run Code Online (Sandbox Code Playgroud)
我不确定是否有我遗失的东西.我正在使用Rails 3.2应用程序进行测试,该应用程序在其Gemfile中列出了我的gem并安装了gem.gem文件夹结构有什么问题可能阻止我的生成器出现吗?我需要在某处需要什么吗?
任何帮助表示赞赏.