我想知道你们是否有任何好的读物来考虑将什么归类为单元测试/验收/集成测试。我有以下场景,我们在工作中有一点争论,它是否应该在单元测试中:
在我们的数据访问层中,一些语句使用sql,例如"select * from people where id IN ('x','y')“,其中IN语句是根据输入动态生成的。最近我们发现,我们的Oracle数据库在IN语句中有1000个变量的限制。
我个人认为这不是单元测试场景。我们在单元测试中测试sql是否对数据库起作用,以及逻辑是否正确。但是,压力测试应该在更高的级别上进行。
如果我们要在单元测试中使用数千条记录进行测
假设我们的任务是实现一个API,以检查折扣计数是否可以应用于订单。Order域对象包含篮中的项以及客户id:
class Order(
val items: List<Item>,
val customerId: CustomerId
)
我们还有一个域对象DiscountCode,表示要使用的折扣计数。
有几个验证规则可以检查给定的折扣计数是否可以应用于给定的订单:
discounted?Has 折扣是否过期?是否有不能使用的商品?该折扣代码已被其他人使用?(客户是否允许使用此折扣代码?)
对于规则1-3,我们可以说它们显然是业务逻辑,根据DDD,它们属于Disc