Ai
12 Star 0 Fork 1

openEuler/mcp-testkit
关闭

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
main.py 2.75 KB
一键复制 编辑 原始数据 按行查看 历史
沈悦 提交于 2025-12-08 14:30 +08:00 . 支持pyproject.toml和yaml
import asyncio
import argparse
def parse_args():
parser = argparse.ArgumentParser(
description="MCP Testkit initialization args",
formatter_class=argparse.ArgumentDefaultsHelpFormatter
)
subparsers = parser.add_subparsers(dest='command', required=True)
# gen-cases 子命令
gen_parser = subparsers.add_parser('gen-cases', help='Generate test cases')
gen_parser.add_argument(
"--config",
type=str,
default="./mcp-servers-perf.json",
help="Path to MCP Server config file"
)
gen_parser.add_argument(
"--logdir",
type=str,
default=".logs",
help="Folderpath to log file"
)
#val-cases子命令
val_parser = subparsers.add_parser('val-cases', help='Validate test cases')
val_parser.add_argument(
"--config",
type=str,
default="./mcp-servers-perf.json",
help="Path to MCP Server config file"
)
val_parser.add_argument(
"--testpath",
type=str,
default=".logs/perf_mcp_2025-09-12T06-43-29-026631/testcases.json",
help="Path to get testcases"
)
# reporter 子命令
rep_parser = subparsers.add_parser('rep-cases', help='report testing results')
rep_parser.add_argument(
"--valpath",
type=str,
default=".logs/perf_mcp_2025-09-11T07-31-04-418670/validation_results.json",
help="Path to MCP Server config file"
)
rep_parser.add_argument(
"--config",
type=str,
default=None,
help="Path to MCP Server config file"
)
rep_parser.add_argument(
"--detailed",
action="store_true",
help="Output detailed report"
)
return parser.parse_args()
async def gen_cases(config_path, logdir):
from src.test_generator.TestGenerator import TestGenerator
generator = TestGenerator(config_path=config_path, log_name=logdir)
return await generator.run()
async def val_cases(config_path, testcase_path):
from src.validator.Response_validator_withenv import ResponseValidator_withenv
validator = ResponseValidator_withenv(config_path=config_path, testcase_path=testcase_path)
return await validator.run()
async def rep_cases(valpath, config_path, detailed):
from src.reporter.Reporter import Reporter
Reporter = Reporter(valpath, config_path, detailed)
return await Reporter.run()
async def main():
args = parse_args()
if args.command == 'gen-cases':
await gen_cases(args.config, args.logdir)
if args.command == 'val-cases':
await val_cases(args.config, args.testpath)
if args.command == 'rep-cases':
await rep_cases(args.valpath, args.config, args.detailed)
if __name__ == "__main__":
asyncio.run(main())
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openeuler/mcp-testkit.git
git@gitee.com:openeuler/mcp-testkit.git
openeuler
mcp-testkit
mcp-testkit
master

搜索帮助