【发布时间】:2016-09-23 11:37:12
【问题描述】:
我是 Rspec 的新手。我正在编写一个测试用例来涵盖模型中的一些操作。这是我的 rspec 代码
test_cover_image_spec.rb
require 'spec_helper'
describe Issue do
before :each do
@issue = Issue.joins(:multimedia).uniq.first
binding.pry
end
describe '#release_cover_image' do
context 'While making an issue open' do
it 'should make issue cover in S3 accessible' do
put :update, :id => @issue.id, :issue => @issue.attributes = {:open => '1'}
end
end
end
end
@issue 总是返回 nil。在我的调试器中,Issue.all 返回一个空数组。
【问题讨论】:
-
你不应该在 Rspec 中使用 @。你应该使用
let -
当您不首先在测试数据库中创建问题时,这是有道理的。
-
spickermann 你能把这个作为答案吗?这对我有用。
标签: ruby-on-rails ruby unit-testing rspec