/ Diretório / Playground / pypict Test Case Generator
● Comunidade omkamal ⚡ Instantâneo

pypict Test Case Generator

por 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.

Por que usar

Principais recursos

Demo ao vivo

Como fica na prática

pypict-claude-skill.replay ▶ pronto
0/0

Instalar

Escolha seu cliente

~/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
    }
  }
}

Abra Claude Desktop → Settings → Developer → Edit Config. Reinicie após salvar.

~/.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 usa o mesmo esquema mcpServers que o Claude Desktop. Config de projeto vence a global.

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
    }
  }
}

Clique no ícone MCP Servers na barra lateral do Cline, depois "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
    }
  }
}

Mesmo formato do Claude Desktop. Reinicie o Windsurf para aplicar.

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

O Continue usa um array de objetos de servidor em vez de um map.

~/.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"
        ]
      }
    }
  }
}

Adicione em context_servers. Zed recarrega automaticamente ao salvar.

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

Uma linha só. Verifique com claude mcp list. Remova com claude mcp remove.

Casos de uso

Usos do mundo real: pypict Test Case Generator

Cover a feature with combinatorial inputs without writing 64 tests

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

Quando usar: Feature has 4+ enum-ish parameters and exhaustive testing would explode.

Pré-requisitos
  • Server/skill installed and authenticated — See repo README
Fluxo
  1. Model
    Use pypict skill: model checkout with payment_method=[card, paypal, applepay], shipping=[standard, express, intl], discount=[none, code, member], currency=[USD, EUR].✓ Copiado
    → Pict model + ~12 pairwise cases
  2. Generate tests
    Emit pytest tests from those cases against checkout().✓ Copiado
    → pytest file with parametrize

Resultado: Real combinatorial coverage with ~12 cases instead of 81.

Armadilhas
  • 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.

Custo e limites

O que custa rodar

Cota de API
See provider docs for rate limits
Tokens por chamada
Varies by tool
Monetário
See repo README for pricing details
Dica
Cache tool results and avoid repeated identical calls.

Segurança

Permissões, segredos, alcance

Armazenamento de credenciais: Use environment variables; never commit secrets
Saída de dados: Tool calls go to the provider's API as documented

Solução de problemas

Erros comuns e correções

pict binary not found

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

Verificar: pypict.exec_pict('test')
constraints rejected

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

Verificar: Run validator first

Alternativas

pypict Test Case Generator vs. outros

AlternativaQuando usarTroca
Plain parametrizeFew parametersNo combinatorial benefit

Mais

Recursos

📖 Leia o README oficial no GitHub

🐙 Ver issues abertas

🔍 Ver todos os 400+ servidores MCP e Skills