Token导航 LogoToken导航TokenDH.com
MCP Py Test Implementation logo
开发工具stdio官方级别未说明来源级核验

MCP Py Test Implementation

MCP Server

一个模型上下文协议(MCP)服务器,使AI助手如Claude能够运行和分析桌面应用程序的pytest测试。

工具数

0

提示词数

0

GitHub Stars

2

资源数

0
PythonClaude自动化测试Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

enginSacan

提供方

enginSacan

最后核验

2026/5/17 20:22

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python3 -m venv venv

详细介绍

Pytest MCP服务器

模型上下文协议(MCP)服务器,使Claude等AI助手能够运行和分析桌面应用程序的pytest测试。

概述

该项目演示了如何通过MCP将pytest与AI助手集成。它包括:

  • 真实桌面应用程序:使用tkinter构建的功能齐全的计算器应用程序
  • 综合测试套件:涵盖UI、功能和边缘情况的pytest测试
  • MCP服务器:将pytest连接到AI助手进行交互式测试

项目结构

pytest-mcp-server/
├── src/
│   ├── __init__.py
│   └── calculator_app.py      # Desktop calculator application
├── tests/
│   ├── __init__.py
│   └── test_calculator.py     # Pytest test suite
├── server.py                   # MCP server implementation
├── pyproject.toml             # Project configuration
└── README.md

安装

先决条件

  • Python 3.10或更高版本
  • pip包管理器

设置

  1. 克隆或导航到项目目录:
cd /Users/303748/Documents/ws/pytest-mcp-server
  1. 创建虚拟环境:
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. 安装依赖项:
pip install -e .

或者安装开发依赖项:

pip install -e ".[dev]"

运行计算器应用程序

要运行桌面计算器应用程序,请执行以下操作:

python -m src.calculator_app

或者使用已安装的脚本:

calculator-app

手动运行测试

运行所有测试:

pytest tests/

以详细输出运行:

pytest tests/ -v

仅运行UI测试:

pytest tests/ -m ui

运行测试(慢速测试除外):

pytest tests/ -m "not slow"

运行特定测试类:

pytest tests/test_calculator.py::TestBasicOperations

使用MCP服务器

配置

  1. 查找您的Claude Desktop配置文件:

- macOS: ~/Library/Application Support/Claude/claude_desktop_config.json - 窗户: %APPDATA%\Claude\claude_desktop_config.json

  1. 添加MCP服务器配置:

重要通知: 您需要为run_server.sh文件授予执行权限

{
  "mcpServers": {
    "pytest": {
      "command": "/Users/303748/Documents/ws/pytest-mcp-server/run_server.sh",
      "args": []
    }
  }
}
  1. 重新启动克劳德桌面

与克劳德一起使用

配置后,您可以通过Claude与测试交互:

对话示例:

你: “列出计算器项目中的所有可用测试”
你: “运行计算器的UI测试”
你: “仅运行错误处理测试”
你: “显示上次测试运行的结果”
你: “加法测试失败了,你能帮我调试一下吗?”

MCP服务器工具

服务器提供三个主要工具:

1.运行测试

使用指定选项执行pytest测试。

参数:

  • test_path (必填):测试文件或目录的路径
  • markers (可选):Pytest标记用于筛选测试
  • verbose (可选):显示详细输出(默认值:true)
  • capture (可选):输出捕获方法(默认值:“否”)

2.列表测试

列出所有可用的测试,但不运行它们。

参数:

  • test_path (可选):扫描测试的路径(默认:“tests/”)

3.获取测试结果

检索并格式化上次测试运行结果。

参数:

测试标记

测试套件使用这些标记:

  • @pytest.mark.ui -UI相关测试
  • @pytest.mark.error_handling -错误处理测试
  • @pytest.mark.slow -慢速运行测试

发展

在覆盖范围内运行测试

pytest tests/ --cov=src --cov-report=html

查看覆盖率报告:

open htmlcov/index.html  # macOS

代码格式化

黑色格式代码:

black src/ tests/ server.py

使用Ruff的Lint代码:

ruff check src/ tests/ server.py

计算器功能

计算器应用程序支持:

  • 基本操作:加法、减法、乘法、除法
  • 高级操作:平方根
  • UI控件:清除(C)、清除条目(CE)、空格(←)
  • 十进制数:完全支持十进制
  • 错误处理:除零、负平方根、无效表达式

测试覆盖率

测试套件包括:

基本操作

  • 加法
  • 减法
  • 乘法
  • 部门
  • 按零处理划分

高级操作

  • 平方根计算
  • 负数的平方根
  • 十进制数运算

UI功能

  • 清除按钮功能
  • 清晰的输入功能
  • 后台操作
  • 链接多个操作

边缘案例

  • 非常大的数字
  • 零操作
  • 无效表达式

故障排除

测试未运行

确保您位于项目目录中并已激活虚拟环境:

cd /Users/303748/Documents/ws/pytest-mcp-server
source venv/bin/activate
pytest tests/

MCP服务器未连接

  1. 检查路径是否正确 claude_desktop_config.json 是正确的
  2. 确保Python在你的PATH中
  3. 配置更改后重新启动Claude Desktop
  4. 检查Claude Desktop日志中的错误消息

导入错误

确保软件包以可编辑模式安装:

pip install -e .

贡献

欢迎投稿!需要改进的地方:

  • 添加更多计算器功能(内存、历史记录)
  • 在测试失败时执行屏幕截图捕获
  • 添加性能基准测试工具
  • 创建更多测试场景
  • 改进错误消息

资源

作者

作为LinkedIn文章“为Pytest构建MCP服务器:自动化桌面应用程序测试”的示例项目创建

目录标签

目录标签

PythonClaude自动化测试pytest测试本地部署AI集成桌面应用测试

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

运行时(runtime,运行环境)

Python

部署方式(deploymentType,部署类型)

local-only

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiononelocal-only

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP