/ الدليل / الملعب / pypict Test Case Generator
● مجتمع omkamal ⚡ فوري

pypict Test Case Generator

بواسطة omkamal · omkamal/pypict-claude-skill

N-wise (pairwise) test case generation with the pypict library.

Combinatorial testing is one of the highest-ROI test techniques you're not using. This skill teaches Claude to model your inputs as parameter sets and generate pairwise (or N-wise) test cases via pypict — getting strong coverage with minimal cases.

لماذا تستخدمه

الميزات الأساسية

عرض مباشر

كيف يبدو في الممارسة

pypict-claude-skill.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "pypict-claude-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/omkamal/pypict-claude-skill",
        "~/.claude/skills/pypict-claude-skill"
      ],
      "_inferred": true
    }
  }
}

افتح Claude Desktop → Settings → Developer → Edit Config. أعد التشغيل بعد الحفظ.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "pypict-claude-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/omkamal/pypict-claude-skill",
        "~/.claude/skills/pypict-claude-skill"
      ],
      "_inferred": true
    }
  }
}

يستخدم Cursor نفس مخطط mcpServers مثل Claude Desktop. إعدادات المشروع أولى من الإعدادات العامة.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "pypict-claude-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/omkamal/pypict-claude-skill",
        "~/.claude/skills/pypict-claude-skill"
      ],
      "_inferred": true
    }
  }
}

انقر على أيقونة MCP Servers في شريط Cline الجانبي، ثم "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "pypict-claude-skill": {
      "command": "git",
      "args": [
        "clone",
        "https://github.com/omkamal/pypict-claude-skill",
        "~/.claude/skills/pypict-claude-skill"
      ],
      "_inferred": true
    }
  }
}

نفس الصيغة مثل Claude Desktop. أعد تشغيل Windsurf لتطبيق التغييرات.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "pypict-claude-skill",
      "command": "git",
      "args": [
        "clone",
        "https://github.com/omkamal/pypict-claude-skill",
        "~/.claude/skills/pypict-claude-skill"
      ]
    }
  ]
}

يستخدم Continue مصفوفة من كائنات الخادم بدلاً من خريطة.

~/.config/zed/settings.json
{
  "context_servers": {
    "pypict-claude-skill": {
      "command": {
        "path": "git",
        "args": [
          "clone",
          "https://github.com/omkamal/pypict-claude-skill",
          "~/.claude/skills/pypict-claude-skill"
        ]
      }
    }
  }
}

أضف إلى context_servers. يعيد Zed التحميل تلقائيًا عند الحفظ.

claude mcp add pypict-claude-skill -- git clone https://github.com/omkamal/pypict-claude-skill ~/.claude/skills/pypict-claude-skill

أمر من سطر واحد. تحقق باستخدام claude mcp list. احذف باستخدام claude mcp remove.

حالات الاستخدام

استخدامات عملية: pypict Test Case Generator

Cover a feature with combinatorial inputs without writing 64 tests

👤 QA + devs writing integration tests ⏱ ~15 min intermediate

متى تستخدمه: Feature has 4+ enum-ish parameters and exhaustive testing would explode.

المتطلبات الأساسية
  • Server/skill installed and authenticated — See repo README
الخطوات
  1. Model
    Use pypict skill: model checkout with payment_method=[card, paypal, applepay], shipping=[standard, express, intl], discount=[none, code, member], currency=[USD, EUR].✓ تم النسخ
    → Pict model + ~12 pairwise cases
  2. Generate tests
    Emit pytest tests from those cases against checkout().✓ تم النسخ
    → pytest file with parametrize

النتيجة: Real combinatorial coverage with ~12 cases instead of 81.

المزالق
  • Pairwise misses higher-order bugs (3-way interactions). For safety-critical paths, use 3-wise. — Pairwise misses higher-order bugs (3-way interactions). For safety-critical paths, use 3-wise.

التكلفة والحدود

تكلفة التشغيل

حصة API
See provider docs for rate limits
الرموز لكل استدعاء
Varies by tool
التكلفة المالية
See repo README for pricing details
نصيحة
Cache tool results and avoid repeated identical calls.

الأمان

الصلاحيات والأسرار ونطاق الأثر

تخزين بيانات الاعتماد: Use environment variables; never commit secrets
نقل البيانات الخارجي: Tool calls go to the provider's API as documented

استكشاف الأخطاء

الأخطاء الشائعة وحلولها

pict binary not found

Install Microsoft's pict tool (or pypict bundles it). See pypict README.

تحقق: pypict.exec_pict('test')
constraints rejected

pict constraint syntax is strict: IF [A] = "x" THEN [B] <> "y";. Use the skill's validator.

تحقق: Run validator first

البدائل

pypict Test Case Generator مقابل البدائل

البديلمتى تستخدمهاالمقايضة
Plain parametrizeFew parametersNo combinatorial benefit

المزيد

الموارد

📖 اقرأ ملف README الرسمي على GitHub

🐙 تصفح القضايا المفتوحة

🔍 تصفح أكثر من 400 خادم MCP و Skills