* 执行一个测试用例.
*
* @param executor
*/
protected final void execute(final IgnoralType ignoral, final TestExecutor executor) {
switch (ignoral) {
case NONE: {
setupEnv();
executor.setupEnv();
executor.execute();
executor.cleanEnv();
cleanEvn();
break;
}
case BOTH: {
executor.execute();
break;
}
case GLOBAL: {
executor.setupEnv();
executor.execute();
executor.cleanEnv();
break;
}
case LOCAL: {
setupEnv();
executor.execute();
cleanEvn();
break;
}
case GLOBAL_S: {
executor.setupEnv();
executor.execute();
executor.cleanEnv();
cleanEvn();
break;
}
case GLOBAL_C: {
setupEnv();
executor.setupEnv();
executor.execute();
executor.cleanEnv();
break;
}
case LOCAL_S: {
setupEnv();
executor.execute();
executor.cleanEnv();
cleanEvn();
break;
}
case LOCAL_C: {
setupEnv();
executor.setupEnv();
executor.execute();
cleanEvn();
break;
}
case BOTH_SETUP: {
executor.execute();
executor.cleanEnv();
cleanEvn();
break;
}
case BOTH_CLEAN: {
setupEnv();
executor.setupEnv();
executor.execute();
break;
}
case GLOBAL_S_LOCAL_C: {
executor.setupEnv();
executor.execute();
cleanEvn();
break;
}
case GLOBAL_C_LOCAL_S: {
setupEnv();
executor.execute();
executor.cleanEnv();
break;
}
}
}
/**
* 忽略类型Enum.
*/
public enum IgnoralType {
/** 不忽略任何环境相关方法 */
NONE,
/** 忽略全局环境相关方法 */
GLOBAL,
/** 忽略局部环境相关方法 */
LOCAL,
/** 忽略所有环境相关方法 */
BOTH,
/** 忽略全局准备测试环境方法 */
GLOBAL_S,
/** 忽略全局清除测试数据方法 */
GLOBAL_C,
/** 忽略局部准备测试环境方法 */
LOCAL_S,
/** 忽略局部清除测试数据方法 */
LOCAL_C,
/** 忽略全部准备测试环境方法 */
BOTH_SETUP,
/** 忽略全部清楚测试数据方法 */
BOTH_CLEAN,
/** 忽略全局准备测试环境和局部清除测试数据方法 */
GLOBAL_S_LOCAL_C,
/** 忽略全局清除测试数据和局部准备测试环境方法 */
GLOBAL_C_LOCAL_S
}
}
*
* @param executor
*/
protected final void execute(final IgnoralType ignoral, final TestExecutor executor) {
switch (ignoral) {
case NONE: {
setupEnv();
executor.setupEnv();
executor.execute();
executor.cleanEnv();
cleanEvn();
break;
}
case BOTH: {
executor.execute();
break;
}
case GLOBAL: {
executor.setupEnv();
executor.execute();
executor.cleanEnv();
break;
}
case LOCAL: {
setupEnv();
executor.execute();
cleanEvn();
break;
}
case GLOBAL_S: {
executor.setupEnv();
executor.execute();
executor.cleanEnv();
cleanEvn();
break;
}
case GLOBAL_C: {
setupEnv();
executor.setupEnv();
executor.execute();
executor.cleanEnv();
break;
}
case LOCAL_S: {
setupEnv();
executor.execute();
executor.cleanEnv();
cleanEvn();
break;
}
case LOCAL_C: {
setupEnv();
executor.setupEnv();
executor.execute();
cleanEvn();
break;
}
case BOTH_SETUP: {
executor.execute();
executor.cleanEnv();
cleanEvn();
break;
}
case BOTH_CLEAN: {
setupEnv();
executor.setupEnv();
executor.execute();
break;
}
case GLOBAL_S_LOCAL_C: {
executor.setupEnv();
executor.execute();
cleanEvn();
break;
}
case GLOBAL_C_LOCAL_S: {
setupEnv();
executor.execute();
executor.cleanEnv();
break;
}
}
}
/**
* 忽略类型Enum.
*/
public enum IgnoralType {
/** 不忽略任何环境相关方法 */
NONE,
/** 忽略全局环境相关方法 */
GLOBAL,
/** 忽略局部环境相关方法 */
LOCAL,
/** 忽略所有环境相关方法 */
BOTH,
/** 忽略全局准备测试环境方法 */
GLOBAL_S,
/** 忽略全局清除测试数据方法 */
GLOBAL_C,
/** 忽略局部准备测试环境方法 */
LOCAL_S,
/** 忽略局部清除测试数据方法 */
LOCAL_C,
/** 忽略全部准备测试环境方法 */
BOTH_SETUP,
/** 忽略全部清楚测试数据方法 */
BOTH_CLEAN,
/** 忽略全局准备测试环境和局部清除测试数据方法 */
GLOBAL_S_LOCAL_C,
/** 忽略全局清除测试数据和局部准备测试环境方法 */
GLOBAL_C_LOCAL_S
}
}