All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.test4j.module.spec.internal.IAroundInitial Maven / Gradle / Ivy

There is a newer version: 1.0.3
Show newest version
package org.test4j.module.spec.internal;

import org.test4j.Context;
import org.test4j.tools.datagen.IDataMap;

/**
 * IAroundInitial
 *
 * @author darui.wu Created by darui.wu on 2020/4/14.
 */
@SuppressWarnings({"rawtypes"})
public interface IAroundInitial extends IWhen, IAroundHandler {

    /**
     * 执行 前置数据准备 和 后置数据检查
     * 文件名形式为 testClassName.testMethodName.json
     *
     * @return ignore
     */
    default IAroundInitial dbAround() throws RuntimeException {
        try {
            String file = TableDataAround.findFile(Context.currTestClass(), Context.currTestMethod().getName());
            return this.dbAround(file);
        } catch (Throwable e) {
            throw new RuntimeException("步骤 - 数据库初始化数据和检查数据准备失败:" + e.getMessage(), e);
        }
    }

    /**
     * 执行 前置数据准备 和 后置数据检查
     *
     * @param file json文件
     * @return ignore
     */
    default IAroundInitial dbAround(String file) throws RuntimeException {
        TableDataAround.around(file);
        return this;
    }

    /**
     * 按 readyInitial 初始化准备数据
     * 按 checkInitial 初始化检查数据
     * init方法用来提供默认字段数据,如果json文件中定义对应的字段,以json文件数据为准
     *
     * @param readyInitial 初始化准备数据
     * @param checkInitial 初始化检查数据
     * @param tables       指定表,如果未指定,表示所有表
     * @return ignore
     */
    default IAroundInitial initAround(IDataMap readyInitial, IDataMap checkInitial, String... tables) {
        TableDataAround.initReady(readyInitial, tables);
        TableDataAround.initCheck(checkInitial, tables);
        return this;
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy