我正试图按照他们网站上的描述设置Jasmine Gem.运行后:
bundle exec jasmine init
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
/Users/sts-158imac/.rvm/gems/ruby-1.9.2-p180@fmn/gems/railties-3.1.0.rc1/lib/rails/railtie/configurable.rb:4:in `<module:Configurable>': uninitialized constant ActiveSupport::Concern (NameError)
from /Users/sts-158imac/.rvm/gems/ruby-1.9.2-p180@fmn/gems/railties-3.1.0.rc1/lib/rails/railtie/configurable.rb:3:in `<class:Railtie>'
from /Users/sts-158imac/.rvm/gems/ruby-1.9.2-p180@fmn/gems/railties-3.1.0.rc1/lib/rails/railtie/configurable.rb:2:in `<module:Rails>'
from /Users/sts-158imac/.rvm/gems/ruby-1.9.2-p180@fmn/gems/railties-3.1.0.rc1/lib/rails/railtie/configurable.rb:1:in `<top (required)>'
from /Users/sts-158imac/.rvm/gems/ruby-1.9.2-p180@fmn/gems/railties-3.1.0.rc1/lib/rails/railtie.rb:129:in `inherited'
from /Users/sts-158imac/.rvm/gems/ruby-1.9.2-p180@fmn/gems/jasmine-1.0.2.1/lib/jasmine/railtie.rb:3:in `<module:Jasmine>'
from /Users/sts-158imac/.rvm/gems/ruby-1.9.2-p180@fmn/gems/jasmine-1.0.2.1/lib/jasmine/railtie.rb:2:in `<top (required)>'
from /Users/sts-158imac/.rvm/gems/ruby-1.9.2-p180@fmn/gems/jasmine-1.0.2.1/lib/jasmine.rb:12:in `require'
from /Users/sts-158imac/.rvm/gems/ruby-1.9.2-p180@fmn/gems/jasmine-1.0.2.1/lib/jasmine.rb:12:in `<top (required)>'
from /Users/sts-158imac/.rvm/gems/ruby-1.9.2-p180@fmn/gems/jasmine-1.0.2.1/bin/jasmine:4:in `require'
from /Users/sts-158imac/.rvm/gems/ruby-1.9.2-p180@fmn/gems/jasmine-1.0.2.1/bin/jasmine:4:in `<top (required)>'
from /Users/sts-158imac/.rvm/gems/ruby-1.9.2-p180@fmn/bin/jasmine:19:in `load'
from /Users/sts-158imac/.rvm/gems/ruby-1.9.2-p180@fmn/bin/jasmine:19:in `<main>'
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用rspec 2和rails 3在执行GET请求时传递cookie.
到目前为止我已经尝试了以下内容.
get "/", {}, {"Cookie" => "uuid=10"} # cookies[:uuid] is nil
request.cookies[:uuid] = 10 # request is nil
@request.env["Cookie"] = "uuid=10" # @request is nil
helper.request.cookies[:uuid] # helper is not defined
cookies[:uuid] = 10 # cookies[:uuid] is nil
controller.cookies[:uuid] = 10 # cookies is nil
Run Code Online (Sandbox Code Playgroud)
可能吗?
我使用的是新水豚DSL使用RSpec以下位于短方针这里
并添加到测试spec/features目录中运行以及单独的,即.
rails_project$ rspec spec/features/my_first_feature.rb
然而,spec/features目录完全忽略了,当我尝试运行整个测试spec/这样的目录:
rails_project$ rspec .
指南中没有提到如何包含这个目录(或其他目录)来完成我想要的包含.我真的需要这个来持续集成我的项目.
有人可以告诉我怎么做吗?
谢谢!
当我运行此命令时: rspec spec/controllers/messages_controller_spec.rb
我明白了:
完成0.54446秒
2个例子,0个失败
随机种子6226
很好.
但是,当我运行此命令时:
zeus rspec spec/controllers/messages_controller_spec.rb
我明白了:
完成0.5356秒
2个例子,0个失败
随机种子0
这不是问题,但我马上得到了这个:
F.
失败:
1)MessagesController POST #create创建一个带有HTTP 200状态代码的消息
Run Code Online (Sandbox Code Playgroud)Failure/Error: post :create, message: "test message" NameError: undefined method `post' for #<RSpec::Core::ExampleGroup::Nested_2::Nested_1:0xb0085d8> # ./spec/controllers/messages_controller_spec.rb:10:in `block (3 levels) in <top (required)>' # -e:1:in `<main>'完成0.10724秒2个例子,1个失败失败示例:
rspec ./spec/controllers/messages_controller_spec.rb:9#MessagesController POST #create使用HTTP 200状态代码创建一条消息
我正在开发一个ruby on rails项目,我正在尝试测试'from'头字段,但测试用例失败了.
这是我在邮件程序中设置的内容
def some_actoin
mail(to: xyz@example.com,
from: '"Example" <service@example.com>',
subject: "test subject")
end
end
Run Code Online (Sandbox Code Playgroud)
在rspec测试案例中,
mail.from.should == '"Example" <service@example.com>'
Run Code Online (Sandbox Code Playgroud)
我的测试用例失败,出现以下错误
expected: '"Example" <service@example.com>'
got: [service@example.com] (using ==)
Run Code Online (Sandbox Code Playgroud)
用from-header电子邮件地址测试from-header标题是错误的方法吗?
感谢任何帮助!
我想删除FactoryGirl.build(:user)每次我想创建一个用户,所以我添加了这些行:
RSpec.configure do |config|
config.include FactoryGirl::Syntax::Methods
end
Run Code Online (Sandbox Code Playgroud)
到了spec_helper.rb.但是这会产生以下错误:
`method_missing': `build` is not available on an example group (e.g. a `describe` or `context` block). It is only available from within individual examples (e.g. `it` blocks) or from constructs that run in the scope of an example (e.g. `before`, `let`, etc). (RSpec::Core::ExampleGroup::WrongScopeError)
Run Code Online (Sandbox Code Playgroud)
然后我删除了所有上下文/描述块,但这并没有改变任何东西.你有没有遇到同样的问题,我该如何解决?
目前我的测试看起来像这样:
require 'rails_helper'
RSpec.describe User, type: :model do
user = build(:user)
project = build(:project)
it "is valid with a firstname, lastname, email and password" do …Run Code Online (Sandbox Code Playgroud) 因此,使用rails 4.2.0和最新的rspec,我为我的控制器生成了一个基本测试.我只是坚持如何在valid_attributes中测试回形针图像.
从搜索到目前为止,我已经想出了这个(这不起作用):
let(:valid_attributes) {{name: 'The New Room', description: 'This is the brand new room', size: '250', capacity: '100', price: '650', picture: '#{rails.root}/spec/support/room-controller-valid.jpg', rmcat_id: '1'}}
Run Code Online (Sandbox Code Playgroud)
还有另一种方法吗?或者我是否需要包含帮助程序才能使回形针与RSpec一起使用?
我在终端得到的错误是:
Failure/Error: room = Room.create! valid_attributes
Paperclip::AdapterRegistry::NoHandlerError:
No handler found for "\#{rails.root}/spec/support/room-controller-valid.jpg
我正在升级到Rails 5,即使我传递了我应该的数据,它已经破坏了我的RSpec.
问题显然在这里:
expected: ({"name"=>"MyString"})
got: (<ActionController::Parameters {"name"=>"MyString"} permitted: true>)
Run Code Online (Sandbox Code Playgroud)
这意味着我需要能够修复我的控制器断言,以便它期望后者.这是需要改变的路线.
expect_any_instance_of(Hospital).to receive(:update).with({ "name" => "MyString" })
Run Code Online (Sandbox Code Playgroud)
可能是这样的
expect_any_instance_of(Hospital).to receive(:update).with(params: { "name" => "MyString" }, permitted: true)
Run Code Online (Sandbox Code Playgroud)
我只是不知道语法是什么,并且无法在Rails 5的分散文档中找到它,或者在Rails 5上有关RSpec的不存在的注释/ Stack Overflow问题.
完整错误和控制器规范
2) HospitalsController PUT update with valid params updates the requested hospital
Failure/Error: if @hospital.update(hospital_params)
#<Hospital id: 43, name: "MyString", reference_code: "RefCod", image_file_name: nil, image_content_type: nil, image_file_size: nil, image_updated_at: nil, contact_phone: "+61-000-000-000", website_link: "www.example.com", street_number: "01", street: "Somewhere St", suburb: "Suburb", state: "ACT", postcode: "1111", description: "MyText MyText …Run Code Online (Sandbox Code Playgroud) 我想从 TDD 开始,但我遇到了这个错误,我正在使用 rvm - ruby 3.0.0 和 Rails 6.1.1
An error occurred while loading ./spec/models/user_spec.rb. - Did you mean?
rspec ./spec/spec_helper.rb
Failure/Error: require File.expand_path('../config/environment', __dir__)
LoadError:
cannot load such file -- rexml/document
/home/manci/.rvm/gems/ruby-3.0.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:34:in `require'
/home/manci/.rvm/gems/ruby-3.0.0/gems/activesupport-6.1.1/lib/active_support/dependencies.rb:332:in `block in require'
/home/manci/.rvm/gems/ruby-3.0.0/gems/activesupport-6.1.1/lib/active_support/dependencies.rb:332:in `require'
/home/manci/.rvm/gems/ruby-3.0.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/firefox.rb:22:in `<main>'
/home/manci/.rvm/gems/ruby-3.0.0/gems/bootsnap-1.5.1/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题?
我正在尝试使用 rspec 和 Rails 6 进行并行测试。根据他们的文档,只需要添加 PARALLEL_WORKERS=15 ,其中 15 是工作人员的数量。但是,这适用于测试用例而不适用于 rspec。
有人找到了让它与 rspec 一起使用的解决方案吗?
https://edgeguides.rubyonrails.org/testing.html#parallel-testing
rspec-rails ×10
rspec ×8
testing ×4
ruby ×3
actionmailer ×1
capybara ×1
jasmine ×1
paperclip ×1
rspec2 ×1
unit-testing ×1
zeus ×1