mock-strategy-guide
Crear Implementaciones Mock para Tests en Rust
Probar código con dependencias externas es un desafío. Esta skill proporciona patrones para crear implementaciones mock usando traits, permitiendo tests unitarios confiables sin infraestructura real.
تنزيل ZIP المهارة
رفع في Claude
اذهب إلى Settings → Capabilities → Skills → Upload skill
فعّل وابدأ الاستخدام
اختبرها
استخدام "mock-strategy-guide". How do I mock a UserRepository trait for testing?
النتيجة المتوقعة:
- Here is a pattern for creating a mock repository:
- 1. Create a struct to hold test data
- 2. Implement the trait for your mock struct
- 3. Use the builder pattern for flexibility
- Key elements:
- - Use HashMap to store test data in memory
- - Return errors for missing keys
- - Chain methods to configure mock state
استخدام "mock-strategy-guide". How can I test error handling with my service?
النتيجة المتوقعة:
- Create an enum to control mock behavior:
- ```rust
- enum MockBehavior {
- Success,
- NotFound,
- DatabaseError,
- }
- ```
- Then configure your mock with the desired behavior and verify your service handles each case correctly.
التدقيق الأمني
آمنAll 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.
درجة الجودة
ماذا يمكنك بناءه
Test de Servicios con Dependencias de Base de Datos
Crea implementaciones mock de repositorios para testear lógica de negocio sin configurar una base de datos real. Verifica que tu capa de servicio maneja la recuperación de datos, persistencia y casos de error correctamente.
Verificar Interacciones con APIs Externas
Construye mocks de clientes HTTP o servicios de email para testear código que realiza llamadas externas. Verifica que tu aplicación envía solicitudes correctas y maneja respuestas o fallos apropiadamente.
Testear Paths de Manejo de Errores
Crea mocks que devuelven errores específicos como no encontrado o fallos de conexión. Testea que tu aplicación maneja estos casos borde gracefulmente y proporciona mensajes de error apropiados.
جرّب هذه الموجهات
I need to test my Rust service that uses a database. Show me how to create a mock repository implementation for the UserRepository trait.
My service needs to handle different error scenarios. Create a mock that I can configure to return success, not found, or database errors.
I want to build mocks with different configurations in my tests. Show me a builder pattern that lets me set up users, errors, and other state before running tests.
I need to verify that my service called external dependencies correctly. Create a mock that tracks method calls and lets me assert on them after the test.
أفضل الممارسات
- Usa traits para definir dependencias, permitiendo implementaciones mock sin acoplamiento a tipos concretos
- Mantén los mocks simples y enfocados en el comportamiento que necesitas testear, no en paridad de características completa
- Crea métodos de verificación para asegurar que tu código interactuó con los mocks como se esperaba
تجنب
- Evita acoplamiento estricto a implementaciones mock específicas en tu código de producción
- No hagas que los tests dependan de infraestructura real, ya que esto hace los tests lentos e inestables
- Evita el exceso de mocking; enfócate en los límites donde las dependencias externas entran a tu sistema