testing
Rust 분산 시스템에 대한 포괄적인 테스트 작성
متاح أيضًا من: CrazySwami,5t111111,ByronWilliamsCPA,Joseph OBrien,5t111111,Joseph OBrien
분산 시스템에 대한 신뢰할 수 있는 테스트를 작성하려면 구조화된 안내가 필요합니다. 이 스킬은 단위 테스트, 통합 테스트, 속성 기반 테스트, 퍼징을 위한 테스트 패턴을 제공하여 개발자가 코드 품질을 보장하고 엣지 케이스를 발견하는 데 도움을 줍니다.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "testing". 성공 및 오류 케이스가 있는 Repository 구조체에 대한 단위 테스트 작성 도와줘
النتيجة المتوقعة:
- 관련 테스트를 tests 모듈로 그룹화
- 동기 테스트에는 #[test]를, 비동기 테스트에는 #[tokio::test] 사용
- 성공 경로와 오류 조건 모두 테스트
- 가독성 있는 차이를 위해 pretty_assertions::assert_eq 사용
- 빈 문자열 및 잘못된 입력과 같은 엣지 케이스 테스트
- 예시: Repository::new 잘못된 이름은 RepositoryError::InvalidName 반환
استخدام "testing". 내 프로토콜 코드에 속성 기반 테스트를 어떻게 설정하나요
النتيجة المتوقعة:
- 입력 도메인과 일치하는 proptest 전략 정의
- 문자열 필드에 정규식 기반 생성 사용
- 라운드-trip 직렬화 및 역직렬화 테스트
- 바이너리 프로토콜용 임의 바이트 벡터 생성
- 실패 지속성 구성으로 디버깅 실패 케이스
- 엣지 케이스를 발견하기 위해 수천 번의 반복 실행
استخدام "testing". 다중 노드 동기화를 위한 통합 테스트 생성
النتيجة المتوقعة:
- 임시 디렉토리와 함께 여러 TestNode 인스턴스 설정
- 노드를 병렬로 시작하기 위해 futures::future::join_all 사용
- 비동기 연결 메서드를 사용하여 노드 연결
- 한 노드에 리포지토리 생성 및 전파 확인
- 동기화 작업이 완료될 수 있도록 지연 추가
- 모든 노드가 동기화된 상태를 가지고 있음을 주장
التدقيق الأمني
آمنThis is a pure prompt-based skill containing only documentation and test pattern examples. No executable code, no file access, no network calls, and no command execution capabilities. The content provides legitimate Rust testing guidance using standard testing frameworks and patterns. All 52 static findings are false positives caused by the scanner flagging markdown code examples and metadata fields as security issues.
عوامل الخطر
🌐 الوصول إلى الشبكة (1)
📁 الوصول إلى نظام الملفات (1)
⚙️ الأوامر الخارجية (21)
درجة الجودة
ماذا يمكنك بناءه
테스팅 피라미드 채택
산업 모범 사례를 따라 단위, 통합, E2E 및 속성 테스트로 포괄적인 테스트 커버리지 구현
P2P 동기화 테스트
검증자 간의 리포지토리 동기화 및 합의 동작을 확인하기 위해 다중 노드 통합 테스트 작성
퍼징 테스트 구현
프로토콜 파싱 코드에서 엣지 케이스와 잠재적 취약점을 발견하기 위해 퍼징 타겟 설정
جرّب هذه الموجهات
Rust 모듈에 대한 단위 테스트 작성을 도와주세요. tokio::test를 사용한 비동기 테스트와 가독성 있는 차이를 위한 pretty_assertions을 포함하세요.
임시 디렉토리와 테스트 설정으로 임시 노드를 설정하는 통합 테스트를 위한 픽스처를 생성하세요.
리포지토리 이름 처리의 유효성을 검사하기 위한 proptest 전략을 작성하세요. 정규식 기반 이름 생성과 서명 검증 테스트를 포함하세요.
네트워크 메시지 파싱을 위한 cargo-fuzz 타겟을 설정하세요. 퍼저가 잘못된 입력을 처리할 때 패닉이 발생하지 않도록 하세요.
أفضل الممارسات
- 테스팅 피라미드 따르기: 많은 단위 테스트, 일부 통합 테스트, 적은 수의 E2E 테스트
- 속성 기반 테스트를 사용하여 수동 테스트가 놓치는 엣지 케이스 발견
- 프로토콜 코드에서 파싱 취약점을 발견하기 위해 퍼저를 지속적으로 실행
تجنب
- 모든 테스트를 단일 #[test] 함수에 넣지 않기
- 성공 경로만 선호하여 오류 케이스 테스트 건너뛰지 않기
- 자주 변경되는 구현 세부 사항에 테스트를 결합하지 않기