diff --git a/joj3_config_generator/convert.py b/joj3_config_generator/convert.py
index c43e55e..a878291 100644
--- a/joj3_config_generator/convert.py
+++ b/joj3_config_generator/convert.py
@@ -45,8 +45,12 @@ def convert(
     )
 
     # Construct healthcheck stage
-    healthcheck_stage = get_healthcheck_config(repo_conf, repo_root)
-    result_conf.stage.stages.append(healthcheck_stage)
+    if (
+        not repo_conf.force_skip_heatlh_check_on_test
+        or os.environ.get("PYTEST_CURRENT_TEST") is None
+    ):
+        healthcheck_stage = get_healthcheck_config(repo_conf, repo_root)
+        result_conf.stage.stages.append(healthcheck_stage)
     stages: List[str] = []
     # Convert each stage in the task configuration
     for task_stage in task_conf.stages:
diff --git a/joj3_config_generator/models/repo.py b/joj3_config_generator/models/repo.py
index 6dbbdde..9c55201 100644
--- a/joj3_config_generator/models/repo.py
+++ b/joj3_config_generator/models/repo.py
@@ -4,19 +4,20 @@ from pydantic import BaseModel, Field
 
 
 class Files(BaseModel):
-    required: List[str]
-    immutable: List[str]
+    required: List[str] = []
+    immutable: List[str] = []
 
 
-class Group(BaseModel):
-    name: List[str]
-    max_count: List[int]
-    time_period_hour: List[int]
+class Groups(BaseModel):
+    name: List[str] = []
+    max_count: List[int] = []
+    time_period_hour: List[int] = []
 
 
 class Config(BaseModel):
-    max_size: float = Field(..., ge=0)
-    files: Files
-    sandbox_token: str
+    max_size: float = Field(10, ge=0)
+    files: Files = Files()
+    sandbox_token: str = Field("")
     max_total_score: int = Field(100)
-    groups: Group
+    force_skip_heatlh_check_on_test: bool = False
+    groups: Groups = Groups()
diff --git a/tests/convert/clang-tidy/repo.toml b/tests/convert/clang-tidy/repo.toml
index 9ec742d..3be6f99 100644
--- a/tests/convert/clang-tidy/repo.toml
+++ b/tests/convert/clang-tidy/repo.toml
@@ -1,15 +1 @@
-sandbox_token = "test"
-
-# reconfigure later
-max_total_score = 100
-max_size = 50.5
-
-# for tests
-[groups]
-name = ["joj", "run"]
-max_count = [1000, 1000]
-time_period_hour = [24, 24]
-
-[files]
-required = ["README.md", "Changelog.md"]
-immutable = [".gitignore", ".gitattributes",".gitea/workflows/push.yaml", ".gitea/workflows/release.yaml"]
+force_skip_heatlh_check_on_test = true
diff --git a/tests/convert/cppcheck/repo.toml b/tests/convert/cppcheck/repo.toml
index 9ec742d..3be6f99 100644
--- a/tests/convert/cppcheck/repo.toml
+++ b/tests/convert/cppcheck/repo.toml
@@ -1,15 +1 @@
-sandbox_token = "test"
-
-# reconfigure later
-max_total_score = 100
-max_size = 50.5
-
-# for tests
-[groups]
-name = ["joj", "run"]
-max_count = [1000, 1000]
-time_period_hour = [24, 24]
-
-[files]
-required = ["README.md", "Changelog.md"]
-immutable = [".gitignore", ".gitattributes",".gitea/workflows/push.yaml", ".gitea/workflows/release.yaml"]
+force_skip_heatlh_check_on_test = true
diff --git a/tests/convert/cpplint/repo.toml b/tests/convert/cpplint/repo.toml
index 9ec742d..3be6f99 100644
--- a/tests/convert/cpplint/repo.toml
+++ b/tests/convert/cpplint/repo.toml
@@ -1,15 +1 @@
-sandbox_token = "test"
-
-# reconfigure later
-max_total_score = 100
-max_size = 50.5
-
-# for tests
-[groups]
-name = ["joj", "run"]
-max_count = [1000, 1000]
-time_period_hour = [24, 24]
-
-[files]
-required = ["README.md", "Changelog.md"]
-immutable = [".gitignore", ".gitattributes",".gitea/workflows/push.yaml", ".gitea/workflows/release.yaml"]
+force_skip_heatlh_check_on_test = true
diff --git a/tests/convert/diff/repo.toml b/tests/convert/diff/repo.toml
index 9ec742d..3be6f99 100644
--- a/tests/convert/diff/repo.toml
+++ b/tests/convert/diff/repo.toml
@@ -1,15 +1 @@
-sandbox_token = "test"
-
-# reconfigure later
-max_total_score = 100
-max_size = 50.5
-
-# for tests
-[groups]
-name = ["joj", "run"]
-max_count = [1000, 1000]
-time_period_hour = [24, 24]
-
-[files]
-required = ["README.md", "Changelog.md"]
-immutable = [".gitignore", ".gitattributes",".gitea/workflows/push.yaml", ".gitea/workflows/release.yaml"]
+force_skip_heatlh_check_on_test = true
diff --git a/tests/convert/keyword/repo.toml b/tests/convert/keyword/repo.toml
index 9ec742d..3be6f99 100644
--- a/tests/convert/keyword/repo.toml
+++ b/tests/convert/keyword/repo.toml
@@ -1,15 +1 @@
-sandbox_token = "test"
-
-# reconfigure later
-max_total_score = 100
-max_size = 50.5
-
-# for tests
-[groups]
-name = ["joj", "run"]
-max_count = [1000, 1000]
-time_period_hour = [24, 24]
-
-[files]
-required = ["README.md", "Changelog.md"]
-immutable = [".gitignore", ".gitattributes",".gitea/workflows/push.yaml", ".gitea/workflows/release.yaml"]
+force_skip_heatlh_check_on_test = true