Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 访问模型时,未加载rspec文件中的Rails会出现错误“NameError:uninitialized constant”_Ruby_Ruby On Rails 4_Rspec_Watir Webdriver - Fatal编程技术网

Ruby 访问模型时,未加载rspec文件中的Rails会出现错误“NameError:uninitialized constant”

Ruby 访问模型时,未加载rspec文件中的Rails会出现错误“NameError:uninitialized constant”,ruby,ruby-on-rails-4,rspec,watir-webdriver,Ruby,Ruby On Rails 4,Rspec,Watir Webdriver,Rails 4.0.2和Ruby 2.0.0 我正在使用watir webdriver和rspec来测试我的web应用程序。我想选择列表中存在关联模型的最后一项。基本上,页面上的模型是Category,在categories列表中,我想选择最后一个与之关联的工具。一个类别有许多工具。我的规范文件: require 'watir' require 'watir-webdriver' browser = Watir::Browser.new browser.window.maximize RSp

Rails 4.0.2和Ruby 2.0.0

我正在使用watir webdriver和rspec来测试我的web应用程序。我想选择列表中存在关联模型的最后一项。基本上,页面上的模型是Category,在categories列表中,我想选择最后一个与之关联的工具。一个类别有许多工具。我的规范文件:

require 'watir'
require 'watir-webdriver'

browser = Watir::Browser.new
browser.window.maximize

RSpec.configure do |config|
  config.before(:each) { @browser = browser }
  config.after(:suite) { browser.close unless browser.nil? }
end

url = 'localhost:3000'
serial = Time.now

describe 'it should log in and CRUD menu items' do

  it 'should log in' do
    @browser.goto url
    @browser.text_field(id: 'username').set Logins::user
    @browser.text_field(id: 'password').set Logins::password(url)
    @browser.button(:text, 'Login').click
    @browser.link(:text, 'Menu Settings').click
  end

  it 'should not delete a category with tools still associated with it' do
    category_name = Category.joins(:tools).where(true).order(name: :asc).last
    @browser.link(:text, category_name).click
    @browser.h4(class: 'tool_list')
    @browser.link(text: 'Delete').click
    @browser.driver.switch_to.alert.accept
    @browser.p(text: 'You can not destroy this menu item until it is empty').present?
  end
end
给出错误的行是:

category_name = Category.joins(:tools).where(true).order(name: :asc).last
不知道为什么我不能在我的spec文件中进行简单的查询。我想我错过了一些非常明显的东西

编辑 我将rspec版本从2更新到3,并运行:

rails generate rspec:install

因为我缺少spec/rails\u helper.rb文件。仍然会出现同样的错误

问题不在Watir中,但您可能需要文件说明如何定义您的模型

我认为,也许,你必须需要所需的宝石;与活动记录一样,
这是配置和初始化文件。

我也在考虑这些问题。我没有任何常规的Rspec测试。我认为他们会失败。但它不应该加载整个rails应用程序以便我可以测试它吗?在spec_helper.rb中会发生这种情况吗?