test: optimize junit test

This commit is contained in:
Michael Yang 2024-01-26 11:07:48 +08:00
parent e2723e0ef6
commit 97c92a186b
3 changed files with 49 additions and 47 deletions

View File

@ -1,7 +1,8 @@
-- Alisa Test -- Alisa Test
SET NAMES utf8mb4; SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0; SET
FOREIGN_KEY_CHECKS = 0;
-- ---------------------------- -- ----------------------------
-- Table structure for sys_dept -- Table structure for sys_dept
@ -9,16 +10,15 @@ SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS `sys_dept`; DROP TABLE IF EXISTS `sys_dept`;
CREATE TABLE `sys_dept` CREATE TABLE `sys_dept`
( (
`id` int NOT NULL AUTO_INCREMENT, `id` int NOT NULL AUTO_INCREMENT,
`dept_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `dept_name` varchar(100) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL, `update_time` datetime NULL DEFAULT NULL,
`create_by` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `create_by` varchar(100) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
`update_by` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `update_by` varchar(100) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ) ENGINE = InnoDB
CHARACTER SET = utf8mb4 CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci
ROW_FORMAT = DYNAMIC; ROW_FORMAT = DYNAMIC;
-- ---------------------------- -- ----------------------------
@ -33,17 +33,16 @@ VALUES (1, '开发岗', NULL, NULL, 'DEPT', 'DEPT');
DROP TABLE IF EXISTS `sys_role`; DROP TABLE IF EXISTS `sys_role`;
CREATE TABLE `sys_role` CREATE TABLE `sys_role`
( (
`id` int NOT NULL AUTO_INCREMENT, `id` int NOT NULL AUTO_INCREMENT,
`role_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `role_key` varchar(100) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
`role_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `role_name` varchar(100) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL, `update_time` datetime NULL DEFAULT NULL,
`create_by` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `create_by` varchar(100) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
`update_by` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `update_by` varchar(100) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ) ENGINE = InnoDB
CHARACTER SET = utf8mb4 CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci
ROW_FORMAT = DYNAMIC; ROW_FORMAT = DYNAMIC;
-- ---------------------------- -- ----------------------------
@ -58,18 +57,17 @@ VALUES (1, 'ROOT', '超级管理员', '2000-11-17 22:15:20', '2000-11-17 22:54:1
DROP TABLE IF EXISTS `sys_user`; DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` CREATE TABLE `sys_user`
( (
`id` int NOT NULL AUTO_INCREMENT, `id` int NOT NULL AUTO_INCREMENT,
`user_name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `user_name` varchar(100) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
`age` int NULL DEFAULT NULL, `age` int NULL DEFAULT NULL,
`birthday` datetime NULL DEFAULT NULL, `birthday` datetime NULL DEFAULT NULL,
`create_time` datetime NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL,
`update_time` datetime NULL DEFAULT NULL, `update_time` datetime NULL DEFAULT NULL,
`create_by` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `create_by` varchar(100) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
`update_by` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL, `update_by` varchar(100) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ) ENGINE = InnoDB
CHARACTER SET = utf8mb4 CHARACTER SET = utf8mb4
COLLATE = utf8mb4_0900_ai_ci
ROW_FORMAT = DYNAMIC; ROW_FORMAT = DYNAMIC;
-- ---------------------------- -- ----------------------------
@ -78,4 +76,5 @@ CREATE TABLE `sys_user`
INSERT INTO `sys_user` INSERT INTO `sys_user`
VALUES (1, '张三', 18, '2023-11-17 22:14:40', '2023-11-17 22:54:34', '2023-11-21 22:14:54', 'USER', 'USER'); VALUES (1, '张三', 18, '2023-11-17 22:14:40', '2023-11-17 22:54:34', '2023-11-21 22:14:54', 'USER', 'USER');
SET FOREIGN_KEY_CHECKS = 1; SET
FOREIGN_KEY_CHECKS = 1;

View File

@ -1,5 +1,6 @@
SET NAMES utf8mb4; SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0; SET
FOREIGN_KEY_CHECKS = 0;
-- ---------------------------- -- ----------------------------
-- Table structure for tb_account -- Table structure for tb_account
@ -7,12 +8,12 @@ SET FOREIGN_KEY_CHECKS = 0;
DROP TABLE IF EXISTS `tb_account`; DROP TABLE IF EXISTS `tb_account`;
CREATE TABLE `tb_account` CREATE TABLE `tb_account`
( (
`id` int NOT NULL AUTO_INCREMENT, `id` int NOT NULL AUTO_INCREMENT,
`user_name` varchar(100) CHARACTER SET utf8mb4 NULL DEFAULT NULL, `user_name` varchar(100) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
`age` int NULL DEFAULT NULL, `age` int NULL DEFAULT NULL,
`birthday` datetime NULL DEFAULT NULL, `birthday` datetime NULL DEFAULT NULL,
`gender` int NULL DEFAULT NULL, `gender` int NULL DEFAULT NULL,
`is_delete` tinyint(3) UNSIGNED ZEROFILL NULL DEFAULT NULL, `is_delete` tinyint(3) UNSIGNED ZEROFILL NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ) ENGINE = InnoDB
AUTO_INCREMENT = 5 AUTO_INCREMENT = 5
@ -35,11 +36,11 @@ VALUES (5, '王五', 18, '2023-07-04 15:00:26', NULL, 000);
DROP TABLE IF EXISTS `tb_article`; DROP TABLE IF EXISTS `tb_article`;
CREATE TABLE `tb_article` CREATE TABLE `tb_article`
( (
`id` int NOT NULL AUTO_INCREMENT, `id` int NOT NULL AUTO_INCREMENT,
`account_id` int NULL DEFAULT NULL, `account_id` int NULL DEFAULT NULL,
`title` varchar(100) CHARACTER SET utf8mb4 NULL DEFAULT NULL, `title` varchar(100) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
`content` text CHARACTER SET utf8mb4 NULL, `content` text CHARACTER SET utf8mb4 NULL,
`is_delete` int NULL DEFAULT NULL, `is_delete` int NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ) ENGINE = InnoDB
AUTO_INCREMENT = 3 AUTO_INCREMENT = 3
@ -62,9 +63,9 @@ VALUES (3, 1, '标题3', '内容3', 0);
DROP TABLE IF EXISTS `tb_good`; DROP TABLE IF EXISTS `tb_good`;
CREATE TABLE `tb_good` CREATE TABLE `tb_good`
( (
`good_id` int NOT NULL AUTO_INCREMENT, `good_id` int NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL, `name` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
`price` decimal(10, 2) NULL DEFAULT NULL, `price` decimal(10, 2) NULL DEFAULT NULL,
PRIMARY KEY (`good_id`) USING BTREE PRIMARY KEY (`good_id`) USING BTREE
) ENGINE = InnoDB ) ENGINE = InnoDB
AUTO_INCREMENT = 10 AUTO_INCREMENT = 10
@ -101,7 +102,7 @@ VALUES (10, '近代化学导论', 67.00);
DROP TABLE IF EXISTS `tb_id_card`; DROP TABLE IF EXISTS `tb_id_card`;
CREATE TABLE `tb_id_card` CREATE TABLE `tb_id_card`
( (
`id` int NOT NULL AUTO_INCREMENT, `id` int NOT NULL AUTO_INCREMENT,
`id_number` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL, `id_number` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ) ENGINE = InnoDB
@ -126,7 +127,7 @@ VALUES (4, 'A33E8BAA-93F2-4E28-A161-15CF7D0AE6D0');
DROP TABLE IF EXISTS `tb_inner`; DROP TABLE IF EXISTS `tb_inner`;
CREATE TABLE `tb_inner` CREATE TABLE `tb_inner`
( (
`id` int NOT NULL AUTO_INCREMENT, `id` int NOT NULL AUTO_INCREMENT,
`type` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL, `type` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ) ENGINE = InnoDB
@ -146,7 +147,7 @@ VALUES (2, 'inner type');
DROP TABLE IF EXISTS `tb_order`; DROP TABLE IF EXISTS `tb_order`;
CREATE TABLE `tb_order` CREATE TABLE `tb_order`
( (
`order_id` int NOT NULL AUTO_INCREMENT, `order_id` int NOT NULL AUTO_INCREMENT,
`create_time` datetime NULL DEFAULT NULL, `create_time` datetime NULL DEFAULT NULL,
PRIMARY KEY (`order_id`) USING BTREE PRIMARY KEY (`order_id`) USING BTREE
) ENGINE = InnoDB ) ENGINE = InnoDB
@ -218,7 +219,7 @@ VALUES (6, 10);
DROP TABLE IF EXISTS `tb_outer`; DROP TABLE IF EXISTS `tb_outer`;
CREATE TABLE `tb_outer` CREATE TABLE `tb_outer`
( (
`id` int NOT NULL AUTO_INCREMENT, `id` int NOT NULL AUTO_INCREMENT,
`name` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL, `name` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE PRIMARY KEY (`id`) USING BTREE
) ENGINE = InnoDB ) ENGINE = InnoDB
@ -238,7 +239,7 @@ VALUES (1, 'outer 01');
DROP TABLE IF EXISTS `tb_role`; DROP TABLE IF EXISTS `tb_role`;
CREATE TABLE `tb_role` CREATE TABLE `tb_role`
( (
`role_id` int NOT NULL AUTO_INCREMENT, `role_id` int NOT NULL AUTO_INCREMENT,
`role_key` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL, `role_key` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
`role_name` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL, `role_name` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
PRIMARY KEY (`role_id`) USING BTREE PRIMARY KEY (`role_id`) USING BTREE
@ -265,7 +266,7 @@ VALUES (4, 'admin', '管理员用户');
DROP TABLE IF EXISTS `tb_user`; DROP TABLE IF EXISTS `tb_user`;
CREATE TABLE `tb_user` CREATE TABLE `tb_user`
( (
`user_id` int NOT NULL AUTO_INCREMENT, `user_id` int NOT NULL AUTO_INCREMENT,
`user_name` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL, `user_name` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
`password` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL, `password` varchar(255) CHARACTER SET utf8mb4 NULL DEFAULT NULL,
PRIMARY KEY (`user_id`) USING BTREE PRIMARY KEY (`user_id`) USING BTREE
@ -352,4 +353,5 @@ VALUES (4, 4);
INSERT INTO `tb_user_role` INSERT INTO `tb_user_role`
VALUES (5, 1); VALUES (5, 1);
SET FOREIGN_KEY_CHECKS = 1; SET
FOREIGN_KEY_CHECKS = 1;

View File

@ -1,6 +1,5 @@
package com.mybatisflex.test; package com.mybatisflex.test;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
import org.testcontainers.containers.BindMode; import org.testcontainers.containers.BindMode;
import org.testcontainers.containers.GenericContainer; import org.testcontainers.containers.GenericContainer;
@ -12,6 +11,7 @@ import java.util.Collections;
public class TestInfrastructure { public class TestInfrastructure {
static final String ALIAS_TEST_DDL = TestInfrastructure.class.getClassLoader().getResource("alisa.sql").getPath();
static final String FLEX_TEST_DDL = TestInfrastructure.class.getClassLoader().getResource("flex_test.sql").getPath(); static final String FLEX_TEST_DDL = TestInfrastructure.class.getClassLoader().getResource("flex_test.sql").getPath();
static final String FIELD_MAPPING_TEST_DDL = TestInfrastructure.class.getClassLoader().getResource("field_mapping_test.sql").getPath(); static final String FIELD_MAPPING_TEST_DDL = TestInfrastructure.class.getClassLoader().getResource("field_mapping_test.sql").getPath();
static final String PATIENT_DATA_SPLIT_TEST_DDL = TestInfrastructure.class.getClassLoader().getResource("patient_data_split_test.sql").getPath(); static final String PATIENT_DATA_SPLIT_TEST_DDL = TestInfrastructure.class.getClassLoader().getResource("patient_data_split_test.sql").getPath();
@ -19,13 +19,14 @@ public class TestInfrastructure {
static GenericContainer<?> mysql = new MySQLContainer<>(DockerImageName.parse("mysql:8.2.0")) static GenericContainer<?> mysql = new MySQLContainer<>(DockerImageName.parse("mysql:8.2.0"))
.waitingFor(Wait.forLogMessage(".*ready for connections.*\\n", 1)) .waitingFor(Wait.forLogMessage(".*ready for connections.*\\n", 1))
.withFileSystemBind(FLEX_TEST_DDL, DOCKER_INITDB_PATH + "flex_test.sql", BindMode.READ_ONLY) .withFileSystemBind(FLEX_TEST_DDL, DOCKER_INITDB_PATH + "flex_test.sql", BindMode.READ_ONLY)
.withFileSystemBind(ALIAS_TEST_DDL, DOCKER_INITDB_PATH + "alisa.sql", BindMode.READ_ONLY)
.withFileSystemBind(FIELD_MAPPING_TEST_DDL, DOCKER_INITDB_PATH + "field_mapping_test.sql", BindMode.READ_ONLY) .withFileSystemBind(FIELD_MAPPING_TEST_DDL, DOCKER_INITDB_PATH + "field_mapping_test.sql", BindMode.READ_ONLY)
.withFileSystemBind(PATIENT_DATA_SPLIT_TEST_DDL, DOCKER_INITDB_PATH + "patient_data_split_test.sql", BindMode.READ_ONLY) .withFileSystemBind(PATIENT_DATA_SPLIT_TEST_DDL, DOCKER_INITDB_PATH + "patient_data_split_test.sql", BindMode.READ_ONLY)
.withDatabaseName("flex_test") .withDatabaseName("flex_test")
.withReuse(true) .withReuse(true)
.withPassword("123456"); .withPassword("123456");
@BeforeAll // @BeforeAll
public static void start() { public static void start() {
mysql.setPortBindings(Collections.singletonList("3306:3306")); mysql.setPortBindings(Collections.singletonList("3306:3306"));
mysql.start(); mysql.start();