我有一个rspec测试,我想确保只有两个值可以传递给我的实例变量.我注意到,should satisfy使用块似乎是更可接受的测试两种结果可接受的方式,但我想实现expect().to eq()如下所示:
it "only allows -2 or 2 as values" do
expect (@note.value).to eq(2 or -2)
end
Run Code Online (Sandbox Code Playgroud)
这是我正确的rspec测试的正确语法吗?我理解一个should陈述背后的想法,而且我更关心为什么在复合期望中should使用expect .to eq时更好(如果实际上是这样的话).
谢谢.
我有以下代码seeds.rb在我的简单Rails应用程序中创建一个记录.
Post.create(
title: "Unique Title!",
body: "this is the most amazingly unique post body ever!"
)
Run Code Online (Sandbox Code Playgroud)
运行该rake db:seed命令时,它显然会使用此数据对db进行种子处理.如何在代码中添加检查或保护措施,使其仅进入一次,即作为唯一?如果我重新运行rake db:seed,我不想再添加相同的条目.