MCP HubMCP Hub
스킬 목록으로 돌아가기

run-puzzle-tests

pjt222
업데이트됨 Yesterday
2 조회
17
2
17
GitHub에서 보기
테스팅testingdesign

정보

이 스킬은 WSL 환경에서 R을 통해 jigsawR 테스트 스위트를 실행하며, 전체 실행, 패턴 필터링 테스트 또는 개별 파일 테스트를 지원합니다. 통과/실패/건너뜀 횟수를 해석하고 실패한 테스트를 식별하며, `--vanilla` 플래그를 사용하지 않음으로써 renv와의 호환성을 보장합니다. R 소스 코드 수정 후, 새로운 퍼즐 기능 추가 시, 변경 사항 커밋 전, 또는 특정 테스트 실패 디버깅 시에 사용하세요.

빠른 설치

Claude Code

추천
기본
npx skills add pjt222/agent-almanac -a claude-code
플러그인 명령대체
/plugin add https://github.com/pjt222/agent-almanac
Git 클론대체
git clone https://github.com/pjt222/agent-almanac.git ~/.claude/skills/run-puzzle-tests

Claude Code에서 이 명령을 복사하여 붙여넣어 스킬을 설치하세요

문서


name: run-puzzle-tests description: > Ejecutar la suite de pruebas de jigsawR mediante ejecucion R en WSL. Soporta suite completa, filtrada por patron o archivo individual. Interpreta conteos de pases/fallos/omisiones e identifica pruebas fallidas. Nunca usa la bandera --vanilla (renv necesita .Rprofile para activacion). Usar despues de modificar cualquier codigo fuente R, despues de agregar un nuevo tipo de rompecabezas o caracteristica, antes de confirmar cambios para verificar que nada esta roto, o al depurar un fallo de prueba especifico. license: MIT allowed-tools: Read Write Edit Bash Grep Glob metadata: author: Philipp Thoss version: "1.0" domain: jigsawr complexity: basic language: R tags: jigsawr, testing, testthat, renv, wsl locale: es source_locale: en source_commit: 6f65f316 translator: claude-sonnet-4-6 translation_date: 2026-03-16

Ejecutar Pruebas de Rompecabezas

Ejecutar la suite de pruebas de jigsawR e interpretar resultados.

Cuando Usar

  • Despues de modificar cualquier codigo fuente R en el paquete
  • Despues de agregar un nuevo tipo de rompecabezas o caracteristica
  • Antes de confirmar cambios para verificar que nada esta roto
  • Depurar un fallo de prueba especifico

Entradas

  • Requerido: Alcance de pruebas (full, filtered o single)
  • Opcional: Patron de filtro (para modo filtrado, ej. "snic", "rectangular")
  • Opcional: Ruta especifica del archivo de prueba (para modo individual)

Procedimiento

Paso 1: Elegir Alcance de Pruebas

AlcanceUsar cuandoDuracion
FullAntes de commits, despues de cambios importantes~2-5 min
FilteredTrabajando en un tipo de rompecabezas~30s
SingleDepurando un archivo de prueba especifico~10s

Esperado: Alcance de pruebas seleccionado segun el flujo de trabajo actual: suite completa antes de commits, filtrada al trabajar en un tipo de rompecabezas especifico, archivo individual al depurar una prueba.

En caso de fallo: Si no esta seguro de que alcance usar, usar suite completa por defecto. Toma mas tiempo pero detecta regresiones entre tipos.

Paso 2: Crear y Ejecutar Script de Prueba

Suite completa:

Crear un archivo de script (ej., /tmp/run_tests.R):

devtools::test()
R_EXE="/mnt/c/Program Files/R/R-4.5.0/bin/Rscript.exe"
cd /mnt/d/dev/p/jigsawR && "$R_EXE" -e "devtools::test()"

Filtrado por patron:

"$R_EXE" -e "devtools::test(filter = 'snic')"

Archivo individual:

"$R_EXE" -e "testthat::test_file('tests/testthat/test-snic-puzzles.R')"

Esperado: Salida de pruebas con conteos de pases/fallos/omisiones.

En caso de fallo:

  • NO usar la bandera --vanilla; renv necesita .Rprofile para activarse
  • Si hay errores de renv, ejecutar renv::restore() primero
  • Para comandos complejos que fallan con codigo de salida 5, escribir en un archivo de script

Paso 3: Interpretar Resultados

Buscar la linea de resumen:

[ FAIL 0 | WARN 0 | SKIP 7 | PASS 2042 ]
  • PASS: Pruebas exitosas
  • FAIL: Pruebas fallidas (necesitan investigacion)
  • SKIP: Pruebas omitidas (generalmente por paquetes opcionales faltantes como snic)
  • WARN: Advertencias durante pruebas (revisar pero no bloquean)

Esperado: La linea de resumen analizada para identificar conteos PASS, FAIL, SKIP y WARN. FAIL = 0 para una ejecucion de pruebas limpia.

En caso de fallo: Si la linea de resumen no es visible, el ejecutor de pruebas puede haberse detenido antes de completar. Verificar errores a nivel de R sobre el resumen. Si la salida esta truncada, redirigir a un archivo: "$R_EXE" -e "devtools::test()" > test_results.txt 2>&1.

Paso 4: Investigar Fallos

Si las pruebas fallan:

  1. Leer el mensaje de fallo -- incluye archivo, linea y esperado vs real
  2. Verificar si es un fallo nuevo o preexistente
  3. Para fallos de asercion, leer la prueba y la funcion siendo probada
  4. Para fallos de error, verificar si cambio una firma de funcion
# Run just the failing test with verbose output
"$R_EXE" -e "testthat::test_file('tests/testthat/test-failing.R', reporter = 'summary')"

Esperado: Causa raiz de cada prueba fallida identificada. El fallo es una regresion genuina (el codigo necesita correccion) o un problema del entorno de pruebas (dependencia faltante, problema de ruta).

En caso de fallo: Si el mensaje de fallo no es claro, agregar sentencias browser() o print() a la prueba y re-ejecutar con testthat::test_file() para depuracion interactiva.

Paso 5: Verificar Razones de Omision

Las pruebas omitidas son normales cuando faltan dependencias opcionales:

  • Las pruebas del paquete snic se omiten con skip_if_not_installed("snic")
  • Las pruebas que requieren un SO especifico se omiten con skip_on_os()
  • Omisiones solo para CRAN con skip_on_cran()

Confirmar que las razones de omision son legitimas, no enmascaran fallos reales.

Esperado: Todas las omisiones se explican por razones legitimas (dependencia opcional no instalada, omision especifica de plataforma, omision solo para CRAN). Ninguna omision enmascara fallos de prueba reales.

En caso de fallo: Si una omision parece sospechosa, eliminar temporalmente la llamada skip_if_*() y ejecutar la prueba para ver si pasa o revela un fallo oculto.

Validacion

  • Todas las pruebas pasan (FAIL = 0)
  • Sin advertencias inesperadas
  • El conteo de omisiones coincide con lo esperado (solo omisiones de dependencias opcionales)
  • El conteo de pruebas no ha disminuido (ninguna prueba eliminada accidentalmente)

Errores Comunes

  • Usar --vanilla: Rompe la activacion de renv. Nunca usarlo con jigsawR.
  • Cadenas -e complejas: Problemas de escape del shell causan codigo de salida 5. Usar archivos de script.
  • Estado del paquete obsoleto: Ejecutar devtools::load_all() o devtools::document() antes de probar si cambio codigo que afecta el NAMESPACE.
  • Dependencias de prueba faltantes: Algunas pruebas necesitan paquetes sugeridos. Verificar el campo Suggests de DESCRIPTION.
  • Problemas de pruebas paralelas: Si las pruebas interfieren, ejecutar secuencialmente con testthat::test_file().

Habilidades Relacionadas

  • generate-puzzle -- generar rompecabezas para verificar que el comportamiento coincide con las pruebas
  • add-puzzle-type -- los nuevos tipos necesitan suites de pruebas completas
  • write-testthat-tests -- patrones generales para escribir pruebas R
  • validate-piles-notation -- probar el analisis PILES independientemente

GitHub 저장소

pjt222/agent-almanac
경로: i18n/es/skills/run-puzzle-tests
0
agentsagentskillsai-assisted-developmentclaude-codeskillsteams

연관 스킬

evaluating-llms-harness

테스팅

이 Claude Skill은 MMLU, GSM8K를 포함한 60개 이상의 표준화된 학술 과제에서 LLM 성능을 벤치마크하기 위해 lm-evaluation-harness를 실행합니다. 개발자들이 모델 품질을 비교하고, 학습 진행 상황을 추적하거나 학술 결과를 보고할 수 있도록 설계되었습니다. 이 도구는 HuggingFace와 vLLM 모델을 포함한 다양한 백엔드를 지원합니다.

스킬 보기

cloudflare-cron-triggers

테스팅

이 스킬은 cron 표현식을 사용하여 Worker를 스케줄링하기 위한 Cloudflare Cron Triggers 구현에 관한 포괄적인 지식을 제공합니다. 주기적 작업, 유지보수 작업, 자동화된 워크플로우 설정 방법을 다루며, 잘못된 cron 표현식이나 시간대 문제 같은 일반적인 이슈들을 해결하는 방법을 포함합니다. 개발자들은 이를 통해 스케줄된 핸들러 구성, cron 트리거 테스트, Workflows 및 Green Compute와의 연동 작업을 수행할 수 있습니다.

스킬 보기

webapp-testing

테스팅

이 Claude Skill은 Python 스크립트를 통해 로컬 웹 애플리케이션을 테스트하기 위한 Playwright 기반 툴킷을 제공합니다. 프론트엔드 검증, UI 디버깅, 스크린샷 캡처, 로그 확인 기능을 지원하며 서버 라이프사이클을 관리합니다. 브라우저 자동화 작업에 사용하되 컨텍스트 오염을 방지하기 위해 소스 코드를 읽지 않고 스크립트를 직접 실행하세요.

스킬 보기

finishing-a-development-branch

테스팅

이 스킬은 테스트 통과를 확인한 후 체계적인 통합 옵션을 제시하여 개발자가 완성된 작업을 마무리하도록 돕습니다. 구현이 완료된 후 머지, PR 생성, 브랜치 정리와 같은 워크플로우를 안내합니다. 코드가 준비되고 테스트가 완료되었을 때 개발 프로세스를 체계적으로 마무리하기 위해 사용하세요.

스킬 보기