- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试使用 RSpec 的宏来 DRY 我的规范,但我遇到了一个问题。
describe "..." do
let!(:blog) { create(:blog) }
post "/blogs/#{blog.id}/posts" do
# some macros
end
end
我想访问 blog
变量,但我不想在 it { ... }
block 中执行此操作,以便能够使用我的宏无论资源如何(例如,我想将其应用于 blogs
、posts
、comments
等)。
这可能吗?
最佳答案
I want to get access to blog variable but I don't want to do it inside it { ... } block
尽量不要去想let
作为正常范围的变量定义。 let
是a complex helper method for caching the result of a code block across multiple calls within the same example group .随便你let
将仅存在于示例组中,这意味着您无法访问 let
外面的“变量” it
block 。
require 'spec'
describe "foo" do
let(:bar) { 1 }
bar
end
# => undefined local variable or method `bar'
就是说,如果您只想重用 create(:blog)
的结果在多个示例中,您可以执行以下操作:
describe "foo" do
let(:blog) { create(:blog) }
it "does something in one context" do
post "/blogs/#{blog.id}/posts"
# specification
end
it "does something else in another context" do
post "/blogs/#{blog.id}/comments"
# specification
end
end
关于ruby - 访问 "it" block 外的 ExampleGroup 范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13197492/
我打开一个 Rails 控制台并需要 rspec_rails。我想编写如下所示的测试并能够调用它。 RSpec.describe("foo") do it "bar" do expect(
我正在尝试使用 RSpec 的宏来 DRY 我的规范,但我遇到了一个问题。 describe "..." do let!(:blog) { create(:blog) } post "/blo
我有一个非常基本的 RSpec/Capybara Rails 测试写下来,但我一直得到那个未定义的期望方法 我的规范/功能/signin_spec.rb: require "rails_helpe
我正在尝试通过我的模型规范进行验证,但我无法让它们通过。我已将所有验证规则也放在我的模型文件中 应用程序/模型/user.rb class User :friendships has_many
我目前正在研究 Rails 4.2.6并与 RSpec 3.7版本。当我运行我的测试时,我收到以下错误: undefined method `build' for # 触发此错误的是以下代码。 需要'
这个会很有趣。在注意到 let 的特殊行为后,我决定通过将实例变量绑定(bind)到示例组来尝试为 RSPEC 制作一个直接等同于 Lisp Let 的版本。 目前的代码如下: module RSpe
当我尝试实现“Fakeweb”时遇到这个错误,我不明白这个问题。 场景:"用户填写所有信息后,系统将使用其中一个属性"fbid"进行验证,如果成功则只会创建一个新公司,否则该过程将失败。" Failu
我使用 rspec-guard 连续运行我的测试,但有时测试失败是因为: Running: spec/requests/signup_spec.rb FF Failures: 1) Signup
我正在 RSpec 2.12.2 中编写 View 规范。我收到的错误是 undefined method: allow。我在 RSpec 的更高版本中使用了类似的东西。 allow 是否在 2.12
搜索这个问题只会发现其他人处理过的特定 gem 或类的问题。就我而言,我认为 rspec 总体上有问题。 每当我使用 rails generate ControllerName 生成 Controll
有人知道如何解决这个问题吗?在 OSX 上,尝试让 RSpec 与 Rails 3.0.7 一起运行。完整详情请参见: https://gist.github.com/1017044 it "re
我想测试一些实例没有接收到特定的方法调用。试图 RSpec.describe 'something' do before { subject.stubs(foo: 'bar') } it {
我有以下 Rspec 语句: it "requires a valid email address" do should disallow_value("@email.com", "email.c
Rails 4.2.5,rspec-rails 3.0.2 我想测试我的 API。所以我在/spec 中创建了 requests 目录。有一个名为 projects_spec.rb 的文件 代码如下:
所以这让我有点困惑,因为我不太明白为什么会这样。这只发生在我的笔记本电脑(Ubuntu 11.04)上,而不是其他地方。我只是觉得这台电脑上的设置有些奇怪。 当我运行我的规范时,我不断收到以下错误:
Variants这个问题已被多次问到,但大多数都与摩卡有关,而我没有使用它。我是 Rails 的新手,所以这看起来微不足道,但我无法在我的规范文件中使用 mock(用于名为 competitions
从 Rspec - Controllers 运行以下代码后,get 方法出现错误 it "assigns @MyItems" do my_item = mock(:mypay_items) m
describe '#messages' do subject do FactoryGirl.create :foo, :type => 'test', :coun
我正在阅读 Michael Hartl 的 railstutorial 的第 11 章,但遇到了一些 rspec 错误。 我不太确定错误消息是什么意思。 以防万一,这是我的规范代码。 let(:f
我想用 rspec 测试 API Controller 。所以这是一段简单的代码: require 'rails_helper' describe "GET /api/config" do it
我是一名优秀的程序员,十分优秀!