如何检查数组的元素是否只包含数字(整数)?
describe "#draw" do
it "returns an array" do
expect(@lottery_tip.draw).to be_a_kind_of Array
end
it "has six elements" do
expect(@lottery_tip.draw.count).to eq(6)
end
it "s elements are only numbers" do
expect(@lottery_tip.draw).to ???
end
end
我的简单LotteryTip类有效,但我想知道如何检查返回数组中元素的类型...
答案 0 :(得分:2)
您可以使用all
matcher。
expect(@tip.draw).to all(be_an(Integer))
答案 1 :(得分:0)
我不确定这是最好的还是至少是好的做法,但我在之前定义了一个自己的方法:每个做块:
def is_number?
@tip.all? { |x| x.is_a? Integer }
end
所以我可以检查它阻止:
it "s elements are only numbers" do
expect(is_number?).to eq(true)
end