Token导航 LogoToken导航

Agent Skill · 效率

junit-test-gen(Junit 测试生成器)

用于辅助测试设计、自动化测试、用例整理和回归验证。它适合让 Agent 编写单元测试、端到端测试、测试计划或根据失败日志定位问题。使用时需要确认项目测试框架、运行命令和夹具数据,避免为了通过测试而改坏真实逻辑;涉及浏览器或外部服务时,应区分本地模拟、测试环境和生产环境。

junit-test-gen 是效率类 Agent Skill,可用宿主为 OpenClaw,通过ClawHub获取,权限为需要联网;许可证为 MIT-0,第三方扫描有提醒项,按安装量在效率类的 21,003 个 Skill 里排第 14,202。

总安装 3,457周安装 147GitHub Stars 公开资料未说明下载 1,211核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT-0
版本
1.0.1

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:junit-test-gen(Junit 测试生成器)
来源仓库:https://github.com/hcyyy0120/junit-test-gen
安装命令:
openclaw skills install junit-test-gen
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install junit-test-gen

这个 Skill 是做什么的

效率类 Skill 把重复的整理、汇总、转换工作交给助手完成,减少手工复制粘贴。

从 JSON 测试用例文件生成 JUnit 5 测试类。当用户想要从 JSON 测试用例生成 Spring Boot JUnit 5 测试时调用。

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 OpenClaw;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 openclaw skills install junit-test-gen;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要需要联网,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

junit-test-gen 怎么安装?

在终端执行 openclaw skills install junit-test-gen。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

junit-test-gen 支持哪些 AI 工具?

公开资料标注支持 OpenClaw。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

junit-test-gen 需要什么权限?

权限级别是需要联网。该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

junit-test-gen 是免费的吗?

来源标注的许可证是 MIT-0。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

junit-test-gen 用的人多吗?

公开数据是累计安装 3,457 次,近一周安装 147 次,下载 1,211 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

junit-test-gen 安全吗?

第三方扫描有提醒项,说明存在需要人工确认的行为。安装前请打开源码看清它读了什么、联网到哪里。

值得选的地方和要先想清楚的地方

值得选的地方

  • 专注 OpenClaw 一种宿主,触发方式和使用习惯不用来回切换。
  • 许可证明确为 MIT-0,商用和分发边界好判断。

先想清楚的地方

  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 OpenClaw,想直接扩展它能力的人。
  • 需要处理效率类任务、又不想每次都手写提示词的人。

不太适合

  • 需要厂商级技术支持和 SLA 的生产系统。

效率类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
github

GitHub 代码协作 · OpenClaw

7,632,918545需要联网MIT-0通过
nano-pdf

Nano PDF 文档 · OpenClaw

4,249,476231需要联网MIT-0通过
auto-updater

自动更新程序 · OpenClaw

2,964,063386操作浏览器MIT-0通过
video-frames

视频帧 · OpenClaw

2,621,304112需要联网MIT-0通过
gemini

Gemini 助手 · OpenClaw

2,547,39648需要联网MIT-0有提醒
junit-test-gen

Junit 测试生成器 · 本页

3,457—需要联网MIT-0有提醒

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

name
junit-test-generator
description
Generates JUnit 5 test classes from JSON test case files. Invoke when user wants to generate Spring Boot JUnit 5 tests from JSON test cases.

JUnit 5 Test Generator

LLM驱动的JUnit 5测试代码生成系统。读取由"Test Case Generator"生成的JSON格式测试用例,自动生成符合Spring Boot最佳实践和JUnit 5规范的测试类和测试方法。

核心功能

  1. JSON解析 - 解析测试用例JSON文件,提取测试数据、预期结果和元数据
  2. 测试类生成 - 基于测试套件生成完整的JUnit 5测试类
  3. 测试方法生成 - 为每个测试用例生成对应的@Test方法
  4. 批量导入 - 支持批量处理多个测试用例文件
  5. 多场景支持 - 支持API接口测试、服务层测试等多种测试类型
  6. SQL自动执行 - 自动执行setup/teardown中的MySQL SQL语句

工作流程

┌─────────────────────────────────────────────────────────────┐
│                      LLM 智能层                             │
│  ┌─────────────────┐    ┌─────────────────────────────┐ │
│  │ 解析JSON测试用例  │ -> │ 分析测试类型和结构           │ │
│  └─────────────────┘    └─────────────────────────────┘ │
│  ┌─────────────────┐    ┌─────────────────────────────┐ │
│  │ 生成测试类模板    │ -> │ 生成测试方法实现             │ │
│  └─────────────────┘    └─────────────────────────────┘ │
│  ┌─────────────────────────────────────────────────────┐ │
│  │ 生成完整的JUnit 5测试代码                              │ │
│  └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
                              │
                              ▼
┌─────────────────────────────────────────────────────────────┐
│                       Python 执行层                          │
│  ┌──────────────────────┐    ┌──────────────────────────┐ │
│  │ run_generator.py      │    │ testcase_parser.py        │ │
│  │ 入口脚本(一键执行)     │    │ 测试用例JSON解析器        │ │
│  └──────────────────────┘    └──────────────────────────┘ │
│  ┌──────────────────────┐    ┌──────────────────────────┐ │
│  │ jtest_generator.py    │    │                          │ │
│  │ JUnit 5测试代码生成器   │    │                          │ │
│  └──────────────────────┘    └──────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘

何时被调用

  • 当已经有"TestCase Generator"这个skill生成的JSON格式测试用例文件时,调用此skill生成对应的JUnit 5测试类。
  • "TestCase Generator"这个skill主动调用此skill,生成对应的JUnit 5测试类。

输入JSON格式

{
  "test_suite": "ControllerName_MethodName",
  "description": "接口功能描述",
  "interface_info": {
    "endpoint": "/api/path",
    "method": "POST",
    "content_type": "application/json",
    "function": "接口功能说明"
  },
  "request_dto": {
    "field1": "类型 - 字段说明"
  },
  "test_cases": [
    {
      "id": "TC_001",
      "name": "测试场景描述",
      "endpoint": "/api/path",
      "method": "POST",
      "headers": {"Content-Type": "application/json"},
      "body": {"field1": "value1"},
      "setup": {"mysql": [], "redis": {}},
      "expected": {"status": 200, "body": {"key": "value"}},
      "teardown": {"mysql": [], "redis": []}
    }
  ]
}

生成的测试类结构

package generated.tests.controller;

import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.http.MediaType;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.jdbc.core.JdbcTemplate;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.util.HashMap;
import java.util.Map;

import static org.junit.jupiter.api.Assertions.*;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.*;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*;

@SpringBootTest
@AutoConfigureMockMvc
class ControllerNameMethodNameTest {

    private static final Logger logger = LoggerFactory.getLogger(ControllerNameMethodNameTest.class);

    @Autowired
    private MockMvc mockMvc;

    @Autowired
    private ObjectMapper objectMapper;

    @Autowired
    private JdbcTemplate jdbcTemplate;

    @Test
    void testMethodName_TC_001() throws Exception {
        logger.info("Executing test: TC_001 - 测试场景描述");

        // Setup - 准备测试数据
        // jdbcTemplate.execute("INSERT INTO ...");

        // Given - 构建请求
        Map<String, Object> requestBody = new HashMap<>();
        requestBody.put("field1", "value1");

        // When & Then - 执行请求并验证
        mockMvc.perform(post("/api/path")
                .contentType(MediaType.APPLICATION_JSON)
                .content(objectMapper.writeValueAsString(requestBody)))
            .andExpect(status().isOk())
            .andExpect(jsonPath("$.key").value("value"))
            .andDo(print());

        // Teardown - 清理测试数据
        // jdbcTemplate.execute("DELETE FROM ...");
    }
}

测试类型支持

测试类型注解说明
API接口测试@SpringBootTest @AutoConfigureMockMvcController层测试
服务层测试@SpringBootTestService层测试
单元测试@ExtendWith(MockitoExtension.class)纯单元测试
集成测试@SpringBootTest完整集成测试

使用方法

方式一: 使用入口脚本(推荐)

# 进入skill目录
cd .trae/skills/junit-test-generator/scripts

# 一键生成测试类
python run_generator.py <test_cases.json> [output_dir]

# 示例
python run_generator.py test_cases.json
python run_generator.py test_cases.json src/test/java

方式二: Python API调用

from jtest_generator import JUnitTestGenerator

generator = JUnitTestGenerator(package_name="your.package.name")
java_code = generator.generate(test_suite)

完整测试执行流程

┌─────────────────────────────────────────────────────────────┐
│                    完整测试执行流程                            │
├─────────────────────────────────────────────────────────────┤
│  1. testcase-generator: 生成测试用例JSON                     │
│             ↓                                                │
│  2. 本skill: 解析JSON并生成JUnit 5测试类                     │
│             ↓                                                │
│  3. 写入 src/test/java 目录                                 │
│             ↓                                                │
│  4. mvn test [-Dtest=ClassName] 执行测试                    │
│             ↓                                                │
│  5. 查看 target/surefire-reports/ 测试结果                  │
└─────────────────────────────────────────────────────────────┘

Maven测试命令

命令说明
mvn test执行所有测试
mvn test -Dtest=ClassName执行指定测试类
mvn test -Dtest=ClassName#methodName执行指定测试方法
mvn test -Dspring.profiles.active=test使用test配置执行
mvn test verify执行测试并验证

测试结果查看

  • target/surefire-reports/ - 测试执行报告 (XML/TXT)
  • 控制台直接输出测试结果

生成的代码规范

  • 包名: 可配置,默认 generated.tests.controller
  • 类名: PascalCase + "Test"后缀,自动移除中文字符和非ASCII字符
  • 方法名: test + 操作描述 + 场景描述
  • 断言: 使用assertEquals, assertTrue, jsonPath等
  • 注释: 包含测试用例ID和描述
  • Endpoint: 自动清理context-path(如果路径段数>2)

LLM提示词模板

测试代码生成提示词

你是一个测试工程师。请根据以下JSON测试用例,生成符合JUnit 5规范的Spring Boot测试代码。

## 测试套件信息
- 测试套件名: {test_suite_name}
- 描述: {description}
- 接口路径: {endpoint}
- HTTP方法: {method}

## 测试用例数据
{test_cases_json}

## 生成要求
1. 使用JUnit 5注解 (@Test, @BeforeEach, @AfterEach)
2. 使用@SpringBootTest和@AutoConfigureMockMvc进行API测试
3. 使用MockMvc进行HTTP请求模拟
4. 使用jsonPath进行响应断言
5. 在测试方法注释中包含测试用例ID和描述
6. 遵循Spring Boot最佳实践

请生成完整的Java测试类代码。

质量标准

  • ✅ 生成的测试类符合JUnit 5规范
  • ✅ 支持Spring Boot @SpringBootTest 集成测试
  • ✅ 支持@WebMvcTest Controller单元测试
  • ✅ 正确处理HTTP请求和响应断言
  • ✅ 测试方法命名清晰描述测试意图
  • ✅ 包含必要的setup/teardown逻辑
  • ✅ 自动执行setup中的MySQL SQL语句(测试数据准备)
  • ✅ 自动执行teardown中的MySQL SQL语句(测试数据清理)
  • ✅ 使用JdbcTemplate执行原生SQL语句
  • ✅ 使用SLF4J Logger记录测试执行日志
  • ✅ 自动移除endpoint中的context-path
  • ✅ 类名自动移除中文字符

版本信息

  • 版本: 2.1.0
  • 创建日期: 2026-03-20
  • 更新日期: 2026-03-25
  • 设计理念: 从JSON到JUnit 5测试代码的自动化转换,支持完整的测试数据setup/teardown,通用化设计适用于任何Spring Boot项目

平台分布

OpenClaw

75.09%
按下载量换算909

安全审计

VirusTotal

可疑

ClawScan

通过

Static analysis

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills