diff --git a/pom.xml b/pom.xml
index 2bfae51d..dbc9222e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -21,7 +21,7 @@
sa-token-core
sa-token-starter
sa-token-plugin
-
+ sa-token-test
diff --git a/sa-token-test/pom.xml b/sa-token-test/pom.xml
index 4190e85b..01f1b5a3 100644
--- a/sa-token-test/pom.xml
+++ b/sa-token-test/pom.xml
@@ -20,9 +20,9 @@
- sa-token-core-test
+
sa-token-springboot-test
- sa-token-springboot-integrate-test
+
sa-token-jwt-test
@@ -43,4 +43,40 @@
+
+
+
+
+ org.jacoco
+ jacoco-maven-plugin
+ 0.8.6
+
+
+ prepare-agent
+
+ prepare-agent
+
+
+
+ report-aggregate
+ test
+
+ report-aggregate
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.22.2
+
+ ${argLine} -Xms256m -Xmx2048m
+ 1
+ random
+
+
+
+
+
diff --git a/sa-token-test/sa-token-core-test/.gitignore b/sa-token-test/sa-token-core-test/.gitignore
deleted file mode 100644
index f56feec7..00000000
--- a/sa-token-test/sa-token-core-test/.gitignore
+++ /dev/null
@@ -1,12 +0,0 @@
-target/
-
-node_modules/
-bin/
-.settings/
-unpackage/
-.classpath
-.project
-
-.factorypath
-
-.idea/
\ No newline at end of file
diff --git a/sa-token-test/sa-token-core-test/pom.xml b/sa-token-test/sa-token-core-test/pom.xml
deleted file mode 100644
index 9dd5eec7..00000000
--- a/sa-token-test/sa-token-core-test/pom.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
- 4.0.0
-
-
- cn.dev33
- sa-token-test
- ${revision}
- ../pom.xml
-
- jar
-
- sa-token-core-test
- sa-token-core-test
- sa-token-core-test
-
-
-
- cn.dev33
- sa-token-core
- ${revision}
-
-
-
-
-
-
diff --git a/sa-token-test/sa-token-springboot-integrate-test/.gitignore b/sa-token-test/sa-token-springboot-integrate-test/.gitignore
deleted file mode 100644
index f56feec7..00000000
--- a/sa-token-test/sa-token-springboot-integrate-test/.gitignore
+++ /dev/null
@@ -1,12 +0,0 @@
-target/
-
-node_modules/
-bin/
-.settings/
-unpackage/
-.classpath
-.project
-
-.factorypath
-
-.idea/
\ No newline at end of file
diff --git a/sa-token-test/sa-token-springboot-integrate-test/pom.xml b/sa-token-test/sa-token-springboot-integrate-test/pom.xml
deleted file mode 100644
index 7b6683c2..00000000
--- a/sa-token-test/sa-token-springboot-integrate-test/pom.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
- 4.0.0
-
-
- cn.dev33
- sa-token-test
- ${revision}
- ../pom.xml
-
- jar
-
- sa-token-springboot-integrate-test
- sa-token-springboot-integrate-test
- sa-token-springboot-integrate-test
-
-
-
- cn.dev33
- sa-token-spring-boot-starter
- ${revision}
-
-
-
-
-
-
diff --git a/sa-token-test/sa-token-springboot-test/pom.xml b/sa-token-test/sa-token-springboot-test/pom.xml
index fddd9d1f..f87883bb 100644
--- a/sa-token-test/sa-token-springboot-test/pom.xml
+++ b/sa-token-test/sa-token-springboot-test/pom.xml
@@ -22,6 +22,17 @@
sa-token-spring-boot-starter
${revision}
+
+
+ cn.dev33
+ sa-token-servlet
+ ${revision}
+
+
+ cn.dev33
+ sa-token-core
+ ${revision}
+
diff --git a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/context/model/SaCookieTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/context/model/SaCookieTest.java
similarity index 87%
rename from sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/context/model/SaCookieTest.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/context/model/SaCookieTest.java
index 6616e2bd..1eb1fe7f 100644
--- a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/context/model/SaCookieTest.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/context/model/SaCookieTest.java
@@ -1,8 +1,10 @@
-package cn.dev33.satoken.context.model;
+package cn.dev33.satoken.core.context.model;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import cn.dev33.satoken.context.model.SaCookie;
+
/**
* SaFoxUtil 工具类测试
*
diff --git a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/dao/SaTokenDaoTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/dao/SaTokenDaoTest.java
similarity index 94%
rename from sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/dao/SaTokenDaoTest.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/dao/SaTokenDaoTest.java
index f93e91ec..609722aa 100644
--- a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/dao/SaTokenDaoTest.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/dao/SaTokenDaoTest.java
@@ -1,8 +1,10 @@
-package cn.dev33.satoken.dao;
+package cn.dev33.satoken.core.dao;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import cn.dev33.satoken.dao.SaTokenDao;
+import cn.dev33.satoken.dao.SaTokenDaoDefaultImpl;
import cn.dev33.satoken.session.SaSession;
/**
diff --git a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/fun/IsRunFunctionTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/fun/IsRunFunctionTest.java
similarity index 86%
rename from sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/fun/IsRunFunctionTest.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/fun/IsRunFunctionTest.java
index 5392fbba..d7687298 100644
--- a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/fun/IsRunFunctionTest.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/fun/IsRunFunctionTest.java
@@ -1,8 +1,10 @@
-package cn.dev33.satoken.fun;
+package cn.dev33.satoken.core.fun;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import cn.dev33.satoken.fun.IsRunFunction;
+
/**
* IsRunFunction 测试
*
diff --git a/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/package-info.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/package-info.java
new file mode 100644
index 00000000..32b63dc6
--- /dev/null
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * 核心包测试
+ */
+package cn.dev33.satoken.core;
\ No newline at end of file
diff --git a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/secure/BCryptTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/secure/BCryptTest.java
similarity index 84%
rename from sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/secure/BCryptTest.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/secure/BCryptTest.java
index 712d2fcd..9e18d4f6 100644
--- a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/secure/BCryptTest.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/secure/BCryptTest.java
@@ -1,8 +1,10 @@
-package cn.dev33.satoken.secure;
+package cn.dev33.satoken.core.secure;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import cn.dev33.satoken.secure.BCrypt;
+
/**
* BCrypt 加密测试
*
diff --git a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/secure/SaBase64UtilTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/secure/SaBase64UtilTest.java
similarity index 88%
rename from sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/secure/SaBase64UtilTest.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/secure/SaBase64UtilTest.java
index 90841df6..f89c9b89 100644
--- a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/secure/SaBase64UtilTest.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/secure/SaBase64UtilTest.java
@@ -1,8 +1,10 @@
-package cn.dev33.satoken.secure;
+package cn.dev33.satoken.core.secure;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import cn.dev33.satoken.secure.SaBase64Util;
+
/**
* SaBase64Util 测试
*
diff --git a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/secure/SaSecureUtilTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/secure/SaSecureUtilTest.java
similarity index 97%
rename from sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/secure/SaSecureUtilTest.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/secure/SaSecureUtilTest.java
index b74a5f27..42d30942 100644
--- a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/secure/SaSecureUtilTest.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/secure/SaSecureUtilTest.java
@@ -1,8 +1,10 @@
-package cn.dev33.satoken.secure;
+package cn.dev33.satoken.core.secure;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import cn.dev33.satoken.secure.SaSecureUtil;
+
/**
* SaSecureUtil 加密工具类 测试
*
diff --git a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/session/SaSessionTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/session/SaSessionTest.java
similarity index 95%
rename from sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/session/SaSessionTest.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/session/SaSessionTest.java
index 8bb9ae84..1c3e6e79 100644
--- a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/session/SaSessionTest.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/session/SaSessionTest.java
@@ -1,8 +1,10 @@
-package cn.dev33.satoken.session;
+package cn.dev33.satoken.core.session;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import cn.dev33.satoken.session.SaSession;
+
/**
* SaSession 测试
*
diff --git a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/util/SaFoxUtilTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/util/SaFoxUtilTest.java
similarity index 99%
rename from sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/util/SaFoxUtilTest.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/util/SaFoxUtilTest.java
index 8863da95..0ceed330 100644
--- a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/util/SaFoxUtilTest.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/util/SaFoxUtilTest.java
@@ -1,4 +1,4 @@
-package cn.dev33.satoken.util;
+package cn.dev33.satoken.core.util;
import java.util.Arrays;
import java.util.Date;
@@ -7,6 +7,8 @@ import java.util.List;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import cn.dev33.satoken.util.SaFoxUtil;
+
/**
* SaFoxUtil 工具类测试
*
diff --git a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/util/SaResultTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/util/SaResultTest.java
similarity index 91%
rename from sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/util/SaResultTest.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/util/SaResultTest.java
index 6e0291ac..dec77d0d 100644
--- a/sa-token-test/sa-token-core-test/src/test/java/cn/dev33/satoken/util/SaResultTest.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/core/util/SaResultTest.java
@@ -1,8 +1,10 @@
-package cn.dev33.satoken.util;
+package cn.dev33.satoken.core.util;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
+import cn.dev33.satoken.util.SaResult;
+
/**
* SaResult 结果集 测试
*
diff --git a/sa-token-test/sa-token-springboot-integrate-test/src/test/java/com/pj/test/LoginController.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/integrate/LoginController.java
similarity index 97%
rename from sa-token-test/sa-token-springboot-integrate-test/src/test/java/com/pj/test/LoginController.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/integrate/LoginController.java
index 2d9d6bb8..257839d3 100644
--- a/sa-token-test/sa-token-springboot-integrate-test/src/test/java/com/pj/test/LoginController.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/integrate/LoginController.java
@@ -1,4 +1,4 @@
-package com.pj.test;
+package cn.dev33.satoken.integrate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
diff --git a/sa-token-test/sa-token-springboot-integrate-test/src/test/java/com/pj/test/LoginControllerTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/integrate/LoginControllerTest.java
similarity index 97%
rename from sa-token-test/sa-token-springboot-integrate-test/src/test/java/com/pj/test/LoginControllerTest.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/integrate/LoginControllerTest.java
index 24680e9d..3271a73e 100644
--- a/sa-token-test/sa-token-springboot-integrate-test/src/test/java/com/pj/test/LoginControllerTest.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/integrate/LoginControllerTest.java
@@ -1,4 +1,4 @@
-package com.pj.test;
+package cn.dev33.satoken.integrate;
import java.util.Map;
@@ -15,7 +15,7 @@ import org.springframework.test.web.servlet.result.MockMvcResultMatchers;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
-import com.pj.test.util.SoMap;
+import cn.dev33.satoken.integrate.util.SoMap;
/**
* Sa-Token 登录API测试
diff --git a/sa-token-test/sa-token-springboot-integrate-test/src/test/java/com/pj/test/StartUpApplication.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/integrate/StartUpApplication.java
similarity index 90%
rename from sa-token-test/sa-token-springboot-integrate-test/src/test/java/com/pj/test/StartUpApplication.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/integrate/StartUpApplication.java
index 2a174efd..d65ee5b9 100644
--- a/sa-token-test/sa-token-springboot-integrate-test/src/test/java/com/pj/test/StartUpApplication.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/integrate/StartUpApplication.java
@@ -1,4 +1,4 @@
-package com.pj.test;
+package cn.dev33.satoken.integrate;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
diff --git a/sa-token-test/sa-token-springboot-integrate-test/src/test/java/com/pj/test/util/SoMap.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/integrate/util/SoMap.java
similarity index 99%
rename from sa-token-test/sa-token-springboot-integrate-test/src/test/java/com/pj/test/util/SoMap.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/integrate/util/SoMap.java
index 2ff88103..046bb0ca 100644
--- a/sa-token-test/sa-token-springboot-integrate-test/src/test/java/com/pj/test/util/SoMap.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/integrate/util/SoMap.java
@@ -1,4 +1,4 @@
-package com.pj.test.util;
+package cn.dev33.satoken.integrate.util;
import java.lang.reflect.Field;
import java.lang.reflect.Modifier;
diff --git a/sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/BasicsTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/BasicsTest.java
similarity index 99%
rename from sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/BasicsTest.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/BasicsTest.java
index a744ec8c..0638586a 100644
--- a/sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/BasicsTest.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/BasicsTest.java
@@ -1,4 +1,4 @@
-package com.pj.test;
+package cn.dev33.satoken.springboot;
import java.util.List;
diff --git a/sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/ManyLoginTest.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/ManyLoginTest.java
similarity index 99%
rename from sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/ManyLoginTest.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/ManyLoginTest.java
index 9392da2c..1cfe57aa 100644
--- a/sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/ManyLoginTest.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/ManyLoginTest.java
@@ -1,4 +1,4 @@
-package com.pj.test;
+package cn.dev33.satoken.springboot;
import java.util.List;
diff --git a/sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/StartUpApplication.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/StartUpApplication.java
similarity index 89%
rename from sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/StartUpApplication.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/StartUpApplication.java
index 2a174efd..0c753109 100644
--- a/sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/StartUpApplication.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/StartUpApplication.java
@@ -1,4 +1,4 @@
-package com.pj.test;
+package cn.dev33.satoken.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
diff --git a/sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/satoken/StpInterfaceImpl.java b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/satoken/StpInterfaceImpl.java
similarity index 94%
rename from sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/satoken/StpInterfaceImpl.java
rename to sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/satoken/StpInterfaceImpl.java
index 18130ce0..339982ab 100644
--- a/sa-token-test/sa-token-springboot-test/src/test/java/com/pj/test/satoken/StpInterfaceImpl.java
+++ b/sa-token-test/sa-token-springboot-test/src/test/java/cn/dev33/satoken/springboot/satoken/StpInterfaceImpl.java
@@ -1,4 +1,4 @@
-package com.pj.test.satoken;
+package cn.dev33.satoken.springboot.satoken;
import java.util.Arrays;
import java.util.List;