mock-strategy-guide
Mock-Implementierungen für Rust-Tests erstellen
Das Testen von Code mit externen Abhängigkeiten ist eine Herausforderung. Diese Skill bietet Muster für die Erstellung von Mock-Implementierungen mithilfe von Traits, die zuverlässige Unit-Tests ohne echte Infrastruktur ermöglichen.
Baixar o ZIP da skill
Upload no Claude
Vá em Configurações → Capacidades → Skills → Upload skill
Ative e comece a usar
Testar
A utilizar "mock-strategy-guide". How do I mock a UserRepository trait for testing?
Resultado esperado:
- Hier ist ein Muster zum Erstellen eines Mock-Repositories:
- 1. Erstellen Sie eine Struktur zum Speichern von Testdaten
- 2. Implementieren Sie das Trait für Ihre Mock-Struktur
- 3. Verwenden Sie das Builder-Muster für Flexibilität
- Schlüsselelemente:
- - Verwenden Sie HashMap zum Speichern von Testdaten im Speicher
- - Geben Sie Fehler für fehlende Schlüssel zurück
- - Verketten Sie Methoden zum Konfigurieren des Mock-Status
A utilizar "mock-strategy-guide". How can I test error handling with my service?
Resultado esperado:
- Erstellen Sie ein Enum zur Steuerung des Mock-Verhaltens:
- ```rust
- enum MockBehavior {
- Success,
- NotFound,
- DatabaseError,
- }
- ```
- Konfigurieren Sie dann Ihren Mock mit dem gewünschten Verhalten und verifizieren Sie, dass Ihr Dienst jeden Fall korrekt behandelt.
Auditoria de Segurança
SeguroAll 14 static findings are false positives. Scanner misidentified YAML frontmatter delimiters as obfuscation patterns, Rust code blocks as shell commands, and skill description text as cryptographic code. This is a legitimate testing guide containing only educational Rust code examples with no execution capabilities.
Pontuação de qualidade
O Que Você Pode Construir
Testen von Diensten mit Datenbankabhängigkeiten
Erstellen Sie Mock-Repository-Implementierungen, um die Geschäftslogik ohne Einrichtung einer echten Datenbank zu testen. Verifizieren Sie, dass Ihre Service-Schicht Datenabfrage, Persistenz und Fehlerfälle korrekt behandelt.
Verifizieren externer API-Interaktionen
Erstellen Sie Mock-HTTP-Clients oder E-Mail-Dienste, um Code zu testen, der externe Aufrufe tätigt. Verifizieren Sie, dass Ihre Anwendung korrekte Anforderungen sendet und Antworten oder Fehler angemessen behandelt.
Testen von Fehlerbehandlungspfaden
Erstellen SieMocks, die spezifische Fehler wie nicht gefunden oder Verbindungsfehler zurückgeben. Testen Sie, dass Ihre Anwendung diese Grenzfälle graceful behandelt und korrekte Fehlermeldungen bereitstellt.
Tente Estes Prompts
Ich muss meinen Rust-Dienst testen, der eine Datenbank verwendet. Zeigen Sie mir, wie ich eine Mock-Repository-Implementierung für das UserRepository-Trait erstelle.
Mein Dienst muss verschiedene Fehlerszenarien behandeln. Erstellen Sie einen Mock, den ich konfigurieren kann, um Erfolg, nicht gefunden oder Datenbankfehler zurückzugeben.
Ich möchte Mocks mit verschiedenen Konfigurationen in meinen Tests erstellen. Zeigen Sie mir ein Builder-Muster, mit dem ich Benutzer, Fehler und anderen Status einrichten kann, bevor ich Tests ausführe.
Ich muss verifizieren, dass mein Dienst externe Abhängigkeiten korrekt aufgerufen hat. Erstellen Sie einen Mock, der Methodenaufrufe verfolgt und es mir ermöglicht, diese nach dem Test zu überprüfen.
Melhores Práticas
- Verwenden Sie Traits, um Abhängigkeiten zu definieren, was Mock-Implementierungen ohne Kopplung an konkrete Typen ermöglicht
- Halten Sie Mocks einfach und fokussiert auf das Verhalten, das Sie testen müssen, nicht auf vollständige Feature-Parität
- Erstellen Sie Verifikationsmethoden, um zu überprüfen, dass Ihr Code wie erwartet mit Mocks interagiert hat
Evitar
- Vermeiden Sie enge Kopplung an spezifische Mock-Implementierungen in Ihrem Produktionscode
- Machen Sie Tests nicht von echter Infrastruktur abhängig, da dies Tests langsam und instabil macht
- Vermeiden Sie übermäßiges Mocking; konzentrieren Sie sich auf Grenzen, an denen externe Abhängigkeiten in Ihr System eintreten
Perguntas Frequentes
Sollte ich ein Mocking-Crate anstelle von manuellen Mocks verwenden?
Wie unterscheidet sich dies von Integrationstests?
Kann ich diese Muster mit async Rust verwenden?
Wie behandle ich Trait-Methoden, die Daten leihen?
Was ist der Unterschied zwischen Mocks und Stubs?
Wie teile ich Mocks über mehrere Tests?
Detalhes do Desenvolvedor
Autor
EmilLindforsLicença
MIT
Repositório
https://github.com/EmilLindfors/claude-marketplace/tree/main/plugins/rust-testing/skills/mock-strategy-guideReferência
main
Estrutura de arquivos
📄 SKILL.md