看一下这段代码:
context "first row"
specify { subject[0][:monthly_total].should be_nil }
specify { subject[0][:yearly_total].should be_nil }
specify { subject[0][:total].should be_nil }
end
这很好用。问题是,当我运行rspec --format documentation
时,规格的可读性会受到影响:
...
first row
should be_nil
should be_nil
should be_nil
...
我希望显示要检查的变量的名称 - 我不在乎是否必须手动将其作为字符串文字输入或者是否从代码中提取。我还想避免使用多行it
块,因为断言非常简单。有办法吗?
specify "variable name" { variable.should be_nil }
不起作用。
答案 0 :(得分:1)
您可以使用its
语法。
context "first row" do
subject { your_object[0] }
its([:monthly_total]) { should be_nil }
its([:yearly_total]) { should be_nil }
its([:total]) { should be_nil }
end
提示:要重复使用以前的subject
,请为其命名!
subject(:my_model) { ... }
context "first row" do
subject { my_model[0] }