如何使用 After(:build) rspec
How to user Affter(:build) rspec
我枚举包括以下内容:
enum dv_type: { only_rental: 0, rental_buy: 1, only_one: 2 }
在我验证枚举后,如果它是 1 和 2,那么 price
将 > 0,并且 ` 将等于 0
fatories/items.rb
price: 25000
dv_type { Item.dv_types.except(:only_one).keys.sample }
现在想用after(:build)按类型设置值,怎么办?
类型 = 0 然后价格 = 0
type = 1 and 2 then price > 0
工厂通常不应包含随机数据。如果您总是 return dv_type 的值之一并使用特征来选择其他值,您的测试套件将更加稳定。
不过,您的要求很容易实现。您可以参考您工厂中的其他列。
dv_type { Item.dv_types.except(:only_one).keys.sample }
price { dv_type.zero? ? 0 : 25000 }
我枚举包括以下内容:
enum dv_type: { only_rental: 0, rental_buy: 1, only_one: 2 }
在我验证枚举后,如果它是 1 和 2,那么 price
将 > 0,并且 ` 将等于 0
fatories/items.rb
price: 25000
dv_type { Item.dv_types.except(:only_one).keys.sample }
现在想用after(:build)按类型设置值,怎么办?
类型 = 0 然后价格 = 0
type = 1 and 2 then price > 0
工厂通常不应包含随机数据。如果您总是 return dv_type 的值之一并使用特征来选择其他值,您的测试套件将更加稳定。
不过,您的要求很容易实现。您可以参考您工厂中的其他列。
dv_type { Item.dv_types.except(:only_one).keys.sample }
price { dv_type.zero? ? 0 : 25000 }