【发布时间】:2020-09-24 17:28:05
【问题描述】:
Database Rider 有什么方法可以减少 @DataSet 配置属性的重复?
例如,假设我们有:
@DataSet(value = "yml/test1.yml", cleanAfter = true, skipCleaningFor = {"zone_code", "product_code", "product_type", "user_type"})
public void test1() {
//...
}
@DataSet(value = "yml/test2.yml", cleanAfter = true, skipCleaningFor = {"zone_code", "product_code", "product_type", "user_type"})
public void test2() {
//...
}
如您所见,cleanAfter 和 skipCleaningFor 是重复的。这只是一个例子。 skipCleaningFor 的列表可以更长。使用相同的跳过表列表进行数千个测试是一场噩梦。想象一下,我们需要在数千个地方更改此列表。
将此列表提取到某个static final 变量不是一种选择,因为注释的参数只能是真正的内联常量(您会得到编译错误)。
Meta datasets 是减少重复的方法之一,但它们包含所有属性,并且无法覆盖某些属性(例如我的示例中的 value)
Merge datasets 看起来很有希望,但不确定...
【问题讨论】:
标签: java unit-testing junit dbunit