Ruby RSPEC在我的投票规范中传递了一个名称错误
我的选票上有个名字错误,我不太明白。它应该确保选票的值仅为1和-1。我最近收到了很多代码中的非错误,所以我想知道我应该如何着手解决这些问题Ruby RSPEC在我的投票规范中传递了一个名称错误,ruby,rspec,Ruby,Rspec,我的选票上有个名字错误,我不太明白。它应该确保选票的值仅为1和-1。我最近收到了很多代码中的非错误,所以我想知道我应该如何着手解决这些问题 require 'rails_helper' describe Vote do def valid? (@vote == 1) || (@vote == -1) end describe "validations" do before do
require 'rails_helper'
describe Vote do
def valid?
(@vote == 1) || (@vote == -1)
end
describe "validations" do
before do
good_v = Votes.new(value: 1)
bad_v = Votes.new(value: -1)
no_v = Votes.new(value: 2)
end
describe "value validation" do
it "only allows -1 or 1 as values" do
expect(good_v.valid?).to eq(true)
expext(bad_v.valid?).to eq(true)
expect(no_v.valid?).to eq(false)
end
end
end
end
它似乎不喜欢我用来创建投票的投票方法。我想使用good\u v=@post.vows.create(value:1)
,但我认为这也不管用
clyde-browns-computer-2:bloccit clydiscope$ rspec spec/models/vote_spec.rb
F
Failures:
1) Vote validations value validation only allows -1 or 1 as values
Failure/Error: expect(good_v.valid?).to eq(true)
NameError:
undefined local variable or method `good_v' for # <RSpec::ExampleGroups::Vote::Validations::ValueValidation:0x007fdd4ad44700>
# ./spec/models/vote_spec.rb:19:in `block (4 levels) in <top (required)>'
Finished in 0.00397 seconds (files took 1.68 seconds to load)
1 example, 1 failure
Failed examples:
rspec ./spec/models/vote_spec.rb:18 # Vote validations value validation only allows -1 or 1 as values
clyde-browns-computer-2:bloccit-clydiscope$rspec spec/models/vote_spec.rb
F
失败:
1) 投票验证值验证仅允许-1或1作为值
失败/错误:预期(良好/有效?)到等式(正确)
名称错误:
未定义的局部变量或#的“good_v”方法
#./spec/models/vote_spec.rb:19:in'block(4层)in'
在0.00397秒内完成(加载文件需要1.68秒)
1例,1例失败
失败的示例:
rspec./spec/models/vote_spec.rb:18#投票验证值验证仅允许-1或1作为值
应该有一个地方,我应该定义一些东西,但我不确定缺少什么 错误表明您的代码出错
before do
block设置一个局部变量,但在description
block中不能使用它
将该代码更改为:
before do
@good_v = Votes.new(value: 1)
@bad_v = Votes.new(value: -1)
@no_v = Votes.new(value: 2)
end
然后在测试用例中使用这些实例变量。错误表明代码出错
before do
block设置一个局部变量,但在description
block中不能使用它
将该代码更改为:
before do
@good_v = Votes.new(value: 1)
@bad_v = Votes.new(value: -1)
@no_v = Votes.new(value: 2)
end
然后在测试用例中使用这些实例变量。错误表明代码出错
before do
block设置一个局部变量,但在description
block中不能使用它
将该代码更改为:
before do
@good_v = Votes.new(value: 1)
@bad_v = Votes.new(value: -1)
@no_v = Votes.new(value: 2)
end
然后在测试用例中使用这些实例变量。错误表明代码出错
before do
block设置一个局部变量,但在description
block中不能使用它
将该代码更改为:
before do
@good_v = Votes.new(value: 1)
@bad_v = Votes.new(value: -1)
@no_v = Votes.new(value: 2)
end
然后在测试用例中使用这些实例变量。在rspec中,您应该使用
let
指令:
require 'rails_helper'
class Vote
def valid?
(@vote == 1) || (@vote == -1)
end
end
describe "validations" do
let(:good_v) { Vote.new(value: 1) }
let(:bad_v) { Vote.new(value: -1) }
let(:no_v) { Vote.new(value: 2) }
describe "value validation" do
it "only allows -1 or 1 as values" do
expect(good_v.valid?).to eq(true)
expect(bad_v.valid?).to eq(true)
expect(no_v.valid?).to eq(false)
end
end
end
在rspec中,您应该使用
let
指令:
require 'rails_helper'
class Vote
def valid?
(@vote == 1) || (@vote == -1)
end
end
describe "validations" do
let(:good_v) { Vote.new(value: 1) }
let(:bad_v) { Vote.new(value: -1) }
let(:no_v) { Vote.new(value: 2) }
describe "value validation" do
it "only allows -1 or 1 as values" do
expect(good_v.valid?).to eq(true)
expect(bad_v.valid?).to eq(true)
expect(no_v.valid?).to eq(false)
end
end
end
在rspec中,您应该使用
let
指令:
require 'rails_helper'
class Vote
def valid?
(@vote == 1) || (@vote == -1)
end
end
describe "validations" do
let(:good_v) { Vote.new(value: 1) }
let(:bad_v) { Vote.new(value: -1) }
let(:no_v) { Vote.new(value: 2) }
describe "value validation" do
it "only allows -1 or 1 as values" do
expect(good_v.valid?).to eq(true)
expect(bad_v.valid?).to eq(true)
expect(no_v.valid?).to eq(false)
end
end
end
在rspec中,您应该使用
let
指令:
require 'rails_helper'
class Vote
def valid?
(@vote == 1) || (@vote == -1)
end
end
describe "validations" do
let(:good_v) { Vote.new(value: 1) }
let(:bad_v) { Vote.new(value: -1) }
let(:no_v) { Vote.new(value: 2) }
describe "value validation" do
it "only allows -1 or 1 as values" do
expect(good_v.valid?).to eq(true)
expect(bad_v.valid?).to eq(true)
expect(no_v.valid?).to eq(false)
end
end
end