我正在为以各种方式创建实体并对其进行操作的服务编写 JUnit 测试。我希望我的测试尝试许多不同的活动组合。我有这样的事情:
test1() {
/** create entity **/
/** assert **/
}
test2() {
/** do X to entity **/
/** assert **/
}
test3() {
/** do X again to entity, expect failure **/
/** assert **/
}
test4() {
/** do Y to entity, expect success **/
/** assert **/
}
但是,我的理解是我不能期望 JUnit 以正确的顺序运行测试,并且每个测试都应该是完全独立的。
但是如果我让每个测试都独立,那么就会有很多重复的代码,运行时间会很长,并且更难维护......例如:
test1() {
/** create entity **/
/** assert **/
}
test2() {
/** create entity **/
/** do X to entity **/
/** assert **/
}
test3() {
/** create entity **/
/** do X to entity **/
/** do X again to entity, expect failure **/
/** assert **/
}
test4() {
/** create entity **/
/** do X to entity **/
/** do X again to entity, expect failure **/
/** do Y to entity, expect success **/
/** assert **/
}
...如果你跟着我。
所以我的问题是,编写这些测试的“正确”方法是什么,以便代码干净优雅?
谢谢,罗伯