问题标签 [rspec3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - RSpec 3 Error undefined method `get' in request test
After migration on RSpec 3 request test fails. Here is my test
Here is rspec log
What can it be?
ruby-on-rails - 使用 rspec 3 测试控制器给出“@routes is nil”
在升级我的 rails 应用程序以使用 rspec 3 后,控制器测试中断了。我错过了什么rails_helper.rb
吗?
rails_helper.rb
users_controller_spec.eb
失败:
谢谢!
ruby-on-rails-4 - RSpec 3、capybara 2.3.0、Guard 2.6.1、Rails 4.1.1 未初始化常量(NameError)
我最近不得不将一个项目从 rails 4.0 迁移到 rails 4.1,在此过程中,我还将 RSpec 更新为 RSpec (3.0.0)。
该项目之前在 Capybara 测试的某些功能规范中具有以下内容:
需要'spec_helper' 需要'support/integration_helpers.rb'
需要'support/admin_support/admin_user_creation_helpers.rb'包括 BuildDefaults
include BuildDefaults
引用一个模块并spec/support/build_defaults.rb
具有各种帮助方法以确保已正确填充数据库。由于某种原因,这现在已经停止工作并给出以下错误(和堆栈跟踪):
path_to/spec/features/admin_features/admin_login_out_spec.rb:4:in
<top (required)>': uninitialized constant BuildDefaults (NameError) from /Users/u_name/.rvm/gems/ruby-2.1.2@gemset_name/gems/rspec-core-3.0.2/lib/rspec/core/configuration.rb:1057:in
block in load_spec_files' from /Users/u_name/.rvm/gems/ruby-2.1.2@gemset_name/gems/rspec-core-3.0.2/lib/ rspec/core/configuration.rb:1057:ineach' from /Users/u_name/.rvm/gems/ruby-2.1.2@gemset_name/gems/rspec-core-3.0.2/lib/rspec/core/configuration.rb:1057:in
load_spec_files' 来自 /Users/u_name/.rvm/gems/ruby-2.1.2@gemset_name/gems/rspec-core-3.0.2/lib/rspec/core/runner。 rb:97:insetup' from /Users/u_name/.rvm/gems/ruby-2.1.2@gemset_name/gems/rspec-core-3.0.2/lib/rspec/core/runner.rb:85:in
run' from /Users/u_name/.rvm/gems/ruby-2.1.2@gemset_name/gems/rspec-core-3.0.2/lib/rspec/core/runner.rb:70:inrun' from /Users/u_name/.rvm/gems/ruby-2.1.2@gemset_name/gems/rspec-core-3.0.2/lib/rspec/core/runner.rb:38:in
invoke ' 来自 /Users/u_name/.rvm/gems/ruby-2.1.2@gemset_name/gems/rspec-core-3.0.2/exe/rspec:4:in<top (required)>' from /Users/u_name/Documents/rails/work/c_central_4.1.1/gemset_name/bin/rspec:7:in
' 来自 /Users/u_name/.rvm/rubies/ruby -2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:inrequire' from /Users/u_name/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in
require' from -e:1:in `'
有人会碰巧知道为什么会这样吗?
对于此事,我将不胜感激。
我已经查看了与这个标题相似的其他各种 SO 问题,但似乎没有一个是相关的。
旁注1
值得注意的是,我已经从我的测试环境中删除了 Spork,因为它由于某些原因不能很好地运行,而是将项目配置为使用 Spring。虽然我认为这与问题无关,但我确实必须完全重建测试环境(rails g rspec:install
例如运行),然后使用Transpec更新 Rspec 语法。
ruby-on-rails - rspec 3.0 belongs_to 关联
我正在尝试使用 rspec 3.0 测试 belongs_to 关联,但我一直遇到错误
NoMethodError:RSpec::Core 的未定义方法“belong_to”
结尾
我在 rspec 3.0 的文档中找不到任何东西来测试高级关联。请帮忙!
ruby - 强制 RSpec 3 显示单行字符串的差异?
我正在比较包含 html 且不包含换行符的长字符串。
根据这个(https://www.relishapp.com/rspec/rspec-expectations/docs/diffing),RSpec将区分多行字符串,但不会区分单行字符串。
有没有办法覆盖它并让它区分单行字符串?
我正在使用 RSpec 3。
ruby-on-rails-3 - 控制器上的存根静态模块方法
我无法让我的 rspec 测试模拟方法A::B.auth
。
使用 rspec 3 和 rails 3.2。测试类型:控制器。
我希望模拟返回一个简单的哈希:{value: true}
。这可能吗?
ruby-on-rails - RSpec HtmlMatchers have_tag:我们可以使用正则表达式来匹配HTML属性吗?
试图在我的一个视图呈现src
的标记中指定属性的一部分值img
,我希望使用以下语法:
它不起作用,这很奇怪,因为 nokogiri 似乎正确解释了表达式(请参阅(?-mix:...)
标准)
所以我想知道我是否忘记了什么,或者这根本不可能。提前致谢
ruby-on-rails - Rspec3:向控制器发送异常
我想测试我的控制器并确保它在收到ActiveRecord::RecordNotFound
控制器:
我的测试:
我完全不确定我的测试,目前会引发错误:NoMethodError: undefined method 'each' for #<String:0xbcdf388>
如何正确编写我的测试?
ruby-on-rails - rspec 3 允许消息错误
在 rspec 2 中,我可以做到这一点。
let(:user_1) { create :user_1) # factoryGirl 对象
User.stub(:where).and_return(user_1)
user_1.stub(:where).and_return(user_1)
但在 rspec 3 中,它发生了故障。
let(:user_1) { create :user_1) # factoryGirl 对象
allow(User).to receive(:where).and_return(user_1)
allow(user_1).to receive(:where).and_return(user_1) # 这一行出现失败
错误信息是,
失败/错误:allow(product_1).to receive(:where).and_return(product_1)
不实施:哪里
我应该怎么做才能通过这个例子?
---------- 更新问题----------
在控制器中,
在规范中,
那么失败消息是,
before
首先,我在块中删除了这个语句,
然后我收到一条失败消息,
所以我尝试了这个(返回数组),
然后我收到一条失败消息,
ruby-on-rails - Rspec 3. 未定义的局部变量或方法 `response' for #
我想用 rspec 测试 API 控制器。所以这是一段简单的代码:
但我有一个错误: