local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Integrates with Dependabot for automated dependency updates
Allows running and parsing Flutter tests, with enhanced support including environment setup, error handling, and detailed output processing
Integrates with GitHub Actions for continuous integration, including automated testing on Node.js 18.x and 20.x, test results uploaded as artifacts
테스트 러너 MCP
여러 테스트 프레임워크의 테스트 결과를 실행하고 파싱하는 모델 컨텍스트 프로토콜(MCP) 서버입니다. 이 서버는 테스트를 실행하고 결과를 처리하는 통합 인터페이스를 제공하며, 다음을 지원합니다.
- 배츠(Bash 자동 테스트 시스템)
- Pytest(Python 테스트 프레임워크)
- 플러터 테스트
- Jest(JavaScript 테스트 프레임워크)
- 고 테스트
- 녹 테스트(화물 테스트)
- 일반(임의의 명령 실행용)
설치
지엑스피1
필수 조건
각 테스트 유형에 대해 다음 테스트 프레임워크를 설치해야 합니다.
- 박쥐:
apt-get install bats
또는brew install bats
- Pytest:
pip install pytest
- 플러터: 플러터 설치 가이드를 따르세요
- 농담:
npm install --save-dev jest
- Go: Go 설치 가이드를 따르세요
- Rust: Rust 설치 가이드를 따르세요
용법
구성
MCP 설정에 테스트 러너를 추가합니다(예: claude_desktop_config.json
또는 cline_mcp_settings.json
):
참고: Flutter 테스트의 경우 다음을 교체해야 합니다.
/opt/homebrew/Caskroom/flutter/3.27.2/flutter
실제 Flutter 설치 경로로 지정합니다./Users/username/.pub-cache
에 실제 pub 캐시 경로를 추가합니다.- 시스템의 실제 경로를 포함하도록 PATH를 업데이트하세요.
다음을 실행하여 이러한 값을 찾을 수 있습니다.
테스트 실행
다음 매개변수와 함께 run_tests
도구를 사용하세요.
각 프레임워크의 예:
보안 기능
테스트 러너에는 특히 generic
프레임워크에 대해 잠재적으로 유해한 명령의 실행을 방지하기 위한 내장 보안 기능이 포함되어 있습니다.
- 명령 검증
- 기본적으로
sudo
및su
차단합니다. rm -rf /
와 같은 위험한 명령을 방지합니다.- 안전한 위치 외부에서 파일 시스템 쓰기 작업을 차단합니다.
- 기본적으로
- 환경 변수 정리
- 잠재적으로 위험한 환경 변수를 필터링합니다.
- 중요한 시스템 변수의 재정의를 방지합니다.
- 안전한 경로 처리를 보장합니다
- 구성 가능한 보안
- 필요한 경우
securityOptions
통해 보안 제한을 재정의합니다. - 보안 기능에 대한 세분화된 제어
- 표준 테스트 사용을 위한 기본 안전 설정
- 필요한 경우
구성할 수 있는 보안 옵션:
플러터 테스트 지원
테스트 러너에는 Flutter 테스트에 대한 향상된 지원이 포함되어 있습니다.
- 환경 설정
- 자동 Flutter 환경 구성
- PATH 및 PUB_CACHE 설정
- 플러터 설치 검증
- 오류 처리
- 스택 추적 수집
- 어설션 오류 처리
- 예외 캡처
- 테스트 실패 감지
- 출력 처리
- 테스트 출력 캡처 완료
- 스택 추적 보존
- 자세한 오류 보고
- 원시 출력 보존
녹 테스트 지원
테스트 러너는 Rust의 cargo test
에 대한 특정 지원을 제공합니다.
- 환경 설정
- 더 나은 오류 메시지를 위해 RUST_BACKTRACE=1을 자동으로 설정합니다.
- 출력 구문 분석
- 개별 테스트 결과를 구문 분석합니다.
- 실패한 테스트에 대한 자세한 오류 메시지를 캡처합니다.
- 무시된 테스트를 식별합니다.
- 요약 정보를 추출합니다
일반 테스트 지원
CI/CD 파이프라인, act
통한 GitHub Actions 또는 기타 명령 실행의 경우 일반 프레임워크는 다음을 제공합니다.
- 자동 출력 분석
- 출력을 논리 블록으로 분할하려는 시도
- 섹션 헤더를 식별합니다
- 합격/불합격 지표 감지
- 알려지지 않은 형식에 대해서도 합리적인 출력 구조를 제공합니다.
- 유연한 통합
- 임의의 셸 명령으로 작동합니다
- 특정 형식 요구 사항 없음
act
, Docker 및 사용자 정의 스크립트와 같은 도구와의 통합에 적합합니다.
- 보안 기능
- 유해한 작업을 방지하기 위한 명령 검증
- 필요한 경우 특정 승격된 권한을 허용하도록 구성할 수 있습니다.
출력 형식
테스트 러너는 완전한 테스트 출력을 보존하면서 구조화된 출력을 생성합니다.
결과는 지정된 출력 디렉토리에 저장됩니다.
test_output.log
: 원시 테스트 출력test_errors.log
: 오류 메시지가 있는 경우test_results.json
: 구조화된 테스트 결과summary.txt
: 사람이 읽을 수 있는 요약
개발
설정
- 저장소를 복제합니다
- 종속성 설치:Copy
- 프로젝트를 빌드하세요:Copy
테스트 실행
테스트 모음에는 지원되는 모든 프레임워크에 대한 테스트가 포함되어 있으며 성공한 테스트 시나리오와 실패한 테스트 시나리오를 모두 검증합니다.
CI/CD
이 프로젝트에서는 지속적인 통합을 위해 GitHub Actions를 사용합니다.
- Node.js 18.x 및 20.x에서 자동화된 테스트
- 아티팩트로 업로드된 테스트 결과
- 자동 종속성 업데이트를 위해 구성된 Dependabot
기여하다
- 저장소를 포크하세요
- 기능 브랜치를 생성하세요
- 변경 사항을 커밋하세요
- 지점으로 밀어 넣기
- 풀 리퀘스트 만들기
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
You must be authenticated.
Tools
Bats, Pytest, Flutter, Jest, Go 등 다양한 테스트 프레임워크에 대한 통합 실행 및 결과 구문 분석을 모델 컨텍스트 프로토콜 인터페이스를 통해 용이하게 합니다.