UNPKG

junit-mcp-server

Version:

A Model Context Protocol (MCP) server for generating JUnit tests for Java classes.

54 lines (50 loc) 2.21 kB
// JUnit Test Generator MCP Tool // Exports a tool definition for MCP server to generate JUnit tests for Java classes const testTemplateGenerator = require('./testTemplateGenerator'); const analyzers = { classAnalyzer: require('../analyzers/classAnalyzer'), dependencyAnalyzer: require('../analyzers/dependencyAnalyzer'), packageAnalyzer: require('../analyzers/packageAnalyzer'), projectStructureAnalyzer: require('../analyzers/projectStructureAnalyzer'), specialFeatureAnalyzer: require('../analyzers/specialFeatureAnalyzer'), testPatternAnalyzer: require('../analyzers/testPatternAnalyzer'), }; module.exports = { name: 'generate-junit-test', description: 'Generate JUnit tests for a given Java class source', inputSchema: { type: 'object', properties: { javaSource: { type: 'string', description: 'Java class source code' }, className: { type: 'string', description: 'Name of the Java class' }, }, required: ['javaSource', 'className'] }, outputSchema: { type: 'object', properties: { junitTest: { type: 'string', description: 'Generated JUnit test code' } }, required: ['junitTest'] }, async run({ javaSource, className }) { // Analyze the Java source using available analyzers const classInfo = analyzers.classAnalyzer.analyze(javaSource); const dependencies = analyzers.dependencyAnalyzer.analyze(javaSource); const packageInfo = analyzers.packageAnalyzer.analyze(javaSource); const structure = analyzers.projectStructureAnalyzer.analyze(javaSource); const features = analyzers.specialFeatureAnalyzer.analyze(javaSource); const testPatterns = analyzers.testPatternAnalyzer.analyze(javaSource); // Generate the JUnit test using the template generator const junitTest = testTemplateGenerator.generate({ className, classInfo, dependencies, packageInfo, structure, features, testPatterns }); return { junitTest }; } };