rspec是否有比target更具体的东西.应该<6?

And*_*imm 52 ruby rspec

http://cheat.errtheblog.com/s/rspec/有不等式(例如小于或大于)

target.should be < 6
Run Code Online (Sandbox Code Playgroud)

自创建备忘单以来,有没有更好的创建?

Cha*_*ton 74

在RSpec的新期望语法中,您可以将其表达为:

expect(target).to be < 6
Run Code Online (Sandbox Code Playgroud)


小智 56

这仍然是处理此测试的可接受方式.在我看来,最好使用>,<和==进行数值比较 - 它更清晰.


tot*_*rio 8

如果您只是想在变量中检查它,target那么target.should be < 6就是要走的路.

但是如果你想检查另一个对象中的属性,比如customer.orders,order是元素的集合,那么你可以使用have(n).items匹配器.

例:

customer.should have_at_most(6).orders
Run Code Online (Sandbox Code Playgroud)

这与预期相同:

customer.orders.size.should be < 6
Run Code Online (Sandbox Code Playgroud)

但是有一个更清晰的信息