【发布时间】:2013-09-15 22:35:48
【问题描述】:
我必须在 Hybris Commerce Suite 中编写一些集成测试类,它们中的大多数具有共同的行为来设置系统(站点、商店、目录、国家...)或执行一些常见的操作,如创建一个客户。
我创建了一个抽象类,它使用 @Before 方法中的常量值和一些常用方法(如 createDefaultCustomer())执行所有初始化。
我所有的测试类都继承自这个类。
常量值被分隔在不同的常量类中,例如
abstract class AbstractTest {
protected static final class USER_CONSTANTS {
};
protected static final class CATALOG_CONSTANTS {
};
protected UserModel createDefaultUser() {
}
}
现在,为了测试,我可以在我的子类中做
createDefaultUser();
UserData userData = userFacade.getUserById(USER_CONSTANTS.ID);
assertEquals(USER_CONSTANTS.ID, userData.getId());
如果我不这样做,测试类中有很多重复。
我怀疑这是否可以接受,因为抽象类往往很长且方法丰富,或者我需要更改设计。 我会避免为每组常量创建单独的类。
【问题讨论】:
标签: java testing class-constants hybris