红宝石-rspec是否有比target更具体的东西。应该小于6吗?

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

target.should be < 6

自备忘单创建以来,有没有创造出更好的东西?

Andrew Grimm asked 2020-01-14T08:25:29Z
3个解决方案
74 votes

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

expect(target).to be < 6
Charles Worthington answered 2020-01-14T08:26:13Z
56 votes

这仍然是处理此测试的公认方法。 我认为最好使用>,<和==进行数值比较-这更清楚。

mrb_bk answered 2020-01-14T08:25:53Z
8 votes

如果您只想在类似customer.orders的变量中进行检查,则可以使用target.should be < 6

但是,如果您要检查另一个对象(例如customer.orders)中的属性,其中order是元素的集合,则可以使用have(n).items匹配器。

例:

customer.should have_at_most(6).orders

与此期望相同:

customer.orders.size.should be < 6

但是带有更清晰的信息

tothemario answered 2020-01-14T08:26:50Z
translate from https://stackoverflow.com:/questions/6829231/does-rspec-have-anything-more-specific-than-target-should-be-6