- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
当我尝试运行 rspec 测试时出现以下错误:
/srv/offerme/spec/requests/static_pages_spec.rb:13: undefined method `visit' for #<Class:0xb3436684> (NoMethodError)
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:238:in `module_eval'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:238:in `subclass'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:224:in `describe'
from /srv/offerme/spec/requests/static_pages_spec.rb:12
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:238:in `module_eval'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:238:in `subclass'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/example_group.rb:224:in `describe'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/dsl.rb:18:in `describe'
from /srv/offerme/spec/requests/static_pages_spec.rb:3
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load_spec_files'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `map'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/configuration.rb:780:in `load_spec_files'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/command_line.rb:22:in `run'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:69:in `run'
from /var/lib/gems/1.8/gems/rspec-core-2.11.1/lib/rspec/core/runner.rb:8:in `autorun'
from /usr/local/bin/rspec:19
我收到此错误的文件如下所示 (spec/requests/static_pages_spec.rb):
require 'spec_helper'
describe "StaticPages" do
include Capybara::DSL
describe "GET /static_pages" do
it "works! (now write some real specs)" do
# Run the generator again with the --webrat flag if you want to use webrat methods/matchers
get static_pages_index_path
response.status.should be(200)
end
end
describe "Home page" do
visit 'static_pages/home'
page.should have_content('OfferMe')
end
end
我的 spec_helper.rb 文件如下所示:
# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'capybara/rspec'
# Requires supporting ruby files with custom matchers and macros, etc,
# in spec/support/ and its subdirectories.
Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
RSpec.configure do |config|
# ## Mock Framework
#
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
#
# config.mock_with :mocha
# config.mock_with :flexmock
# config.mock_with :rr
# Remove this line if you're not using ActiveRecord or ActiveRecord fixtures
config.fixture_path = "#{::Rails.root}/spec/fixtures"
# If you're not using ActiveRecord, or you'd prefer not to run each of your
# examples within a transaction, remove the following line or assign false
# instead of true.
config.use_transactional_fixtures = true
# If true, the base class of anonymous controllers will be inferred
# automatically. This will be the default behavior in future versions of
# rspec-rails.
config.infer_base_class_for_anonymous_controllers = false
# Run specs in random order to surface order dependencies. If you find an
# order dependency and want to debug it, you can fix the order by providing
# the seed, which is printed after each run.
# --seed 1234
config.order = "random"
config.include Capybara::DSL
end
module ::RSpec::Core
class ExampleGroup
include Capybara::DSL
include Capybara::RSpecMatchers
end
end
最后,我的 Gemfile 看起来像这样:
source 'https://rubygems.org'
gem 'rails', '3.2.7'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
group :development, :test do
gem 'sqlite3'
gem 'rspec-rails'
end
group :test do
gem 'capybara'
end
gem 'json'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'sass-rails', '~> 3.2.4'
gem 'coffee-rails', '~> 3.2.2'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', :platforms => :ruby
gem 'uglifier', '>= 1.0.3'
gem 'twitter-bootstrap-rails'
end
gem 'jquery-rails'
# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'
# To use Jbuilder templates for JSON
# gem 'jbuilder'
# Use unicorn as the app server
# gem 'unicorn'
# Deploy with Capistrano
# gem 'capistrano'
# To use debugger
# gem 'ruby-debug'
gem 'therubyracer', '0.10.1'
gem 'libv8'
gem 'webrat'
我看过这个 GitHub issue并尝试了一些解决方法,并查看了与类似问题有关的其他一些 StackOverflow 问题(这就是为什么某些代码看起来多余/hacky 的原因)。但是,它们都还没有起作用。请帮忙!
最佳答案
更新:
问题是您在 it
block 之外调用 visit
,此处:
describe "Home page" do
visit 'static_pages/home'
page.should have_content('OfferMe')
end
将这些中间行包裹在 it
block 中:
describe "Home page" do
it "has a homepage" do
visit 'static_pages/home'
page.should have_content('OfferMe')
end
end
这应该有效。
原始答案:
我可能是错的,但我相信您必须在 Gemfile 的测试和开发部分都包含 capybara 。
尝试将 Gemfile 的该部分更改为:
group :development, :test do
gem 'sqlite3'
gem 'rspec-rails'
gem 'capybara'
end
关于ruby-on-rails - #<Class :XYZ> (NoMethodError) [rspec] 的未定义方法 'visit',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11911408/
('xyz' != 'xyz') 和 NOT ('xyz' = 'xyz') 之间有什么区别吗? 虽然我在 Oracle DB 的上下文中询问,但也想知道其他语言的相同情况。 差异主要在于处理速度和所
我注意到定义了 simpleType 或 complexType,并且在模式文件中的多个元素的声明中使用了这些类型,simpleType 或 complexType 生成了一个方法签名作为“JAXBE
我在 XYZ 的 3D 空间中将对象旋转 90 度步长 (rX rY rZ)。角度限制为 0-360 度,我使用以下命令来旋转矩阵: Matrix.rotateM(mModelMatrix, 0, r
recursivePrint 函数将递归地显示文件和文件夹,我已经调用了一个函数来搜索文件中的单词此代码适用于小号。文件数但是当我使用所有目录时,它给出了内存不足错误java堆空间 File[] ma
我有一个简单的 html 网站,其中包含 50 多个 html 页面。从 statistics-script 中,我有时会在 xyz.html/(重定向到 404)而不是 xyz.html 之类的页面
我对一个位置(原始文件夹)中的所有文件进行哈希处理,然后将哈希值写入变量,然后对另一位置(目标文件夹)中的所有文件执行相同的操作: $origin = Get-ChildItem .\Test1 |
我正在编写一个包含键值对集合的重要类,在编译期间我收到一个我无法弄清楚的非常奇怪的错误。在一个与这里的函数非常相似的函数中,但由于所需代码的复杂性而没有上下文,我收到错误: TValue& opera
我正在尝试做一些非常简单的事情。 场景如下:我有一个整个网站与支持推送状态的浏览器配合得很好。该网站的工作基础是该语言是“实际页面”,例如: /en/whatever/etc = index.en.
在java脚本(或jquery)中,有什么区别 var a = xyz[] var a = xyz{} 我在互联网上搜索但找不到任何答案?如果有任何差异,请告诉我。 最佳答案 这是无效的语法。 var
我正在通过以下步骤在 Android 中进行 JSON 解析: 使用 HttpPost 对象从网络服务获取 XML 响应。 将此 XML 转换为 JSON 字符串,然后再转换为 JSON 对象。 现在
有什么区别: class A { public: void virtual method1() {...}; virtual void method2() {...}; }; 编译器(编辑:Apple
我正在尝试使用 configure、make、make install 三部曲来编译 c 源代码。 由于我想编译源代码,以便它们使用默认情况下未使用的另一个库 (XYZ),因此我可以使用 ./conf
在 MySQL 中,如何将表的列名从“sum(xyz)”更改为“xyz”?我已经尝试了以下解决方案来更改列名: Change Column Name in MySQL Rename column SQ
不能覆盖委托(delegate)函数, didFinishLaunchingWithOptions 和其他与应用程序委托(delegate)相关的函数都很好,但是当我尝试使用 application(
Tally-ho 小伙子们, 这个问题认为线性代数的艺术是数学中我无法解决的地方。所以我希望你们能帮助我 :D。 我正在尝试为一款名为《骑马与砍杀》的游戏创建单人自动踢球作弊。这个 autokicke
我正在 typescript 中访问导入的nodejs模块的函数,编译器会为每个方法调用或属性访问发出给定的错误。这是我的声明: import imageProc = module('imagePr
这个问题在这里已经有了答案: What is wrong with below code (3 个答案) What does sizeof(&array) return? (4 个答案) 关闭 9
为了好玩,我决定制作类似于 Markdown 的东西。根据我过去对正则表达式的一些小经验,我知道它们有多么强大,所以它们将是我所需要的。 所以,如果我有这个字符串: Hello **bold*
假设我有一个目录,里面有一堆网站名称。 即 dev.domain.com dev.domain2.com dev.domain3.com 如何将它们重命名为 .com在使用管道和/或重定向 bash
这个问题已经有答案了: 已关闭12 年前。 Possible Duplicate: difference between string object and string literal 你好, 首先
我是一名优秀的程序员,十分优秀!