Saltar al contenido
K0lateral
Programación

Automatiza tests unitarios con Gemini y Copilot en VS Code

· (banco local)

Aprende a generar tests unitarios automáticos con Gemini y Copilot en VS Code. Prompts prácticos, ejemplos reales y flujo de trabajo directo.

Automatiza tests unitarios con Gemini y Copilot en VS Code
(banco local)

Automatiza tests unitarios con Gemini y Copilot en VS Code

Mira, colega, si hay algo que odio es perder el tiempo escribiendo tests unitarios manualmente. Son necesarios, sí, pero repetitivos hasta decir basta. Por suerte, con Gemini y Copilot integrados en VS Code puedes automatizar gran parte del proceso. Te voy a contar cómo lo hago yo, sin rodeos.

Primero lo primero: necesitas tener las extensiones instaladas. Para Copilot, ya sabes, la oficial de GitHub. Para Gemini, busca "Gemini Code Assist" de Google. Una vez las tengas, el truco está en saber qué pedirles.

El flujo que uso cada día

Cuando tengo una función o clase que necesita tests, no empiezo desde cero. Abro el archivo, selecciono el código relevante y le pido a Gemini que genere los casos base. Luego lo refino con Copilot para cubrir edge cases. Así de simple.

Prompts que realmente funcionan

Estos son los que uso a diario. Cópialos y pégados directamente:

Prompt 1: Generar tests para una función específica

Selecciona tu función y pídele a Gemini:

Genera tests unitarios completos para esta función en el framework que uses (Jest, pytest, etc.). Incluye casos normales, casos borde como valores nulos, vacíos o fuera de rango, y al menos un test de error. Usa mocks si hay dependencias externas.

Prompt 2: Cubrir edge cases automáticamente

Cuando ya tienes tests básicos, usa Copilot para completar:

// TODO: Añade tests para estos edge cases: valores límite, strings vacíos, objetos con propiedades faltantes, llamadas concurrentes

Prompt 3: Test de integración rápida

Para cosas más complejas:

Crea un test que verifique la integración entre el módulo A y el B. Simula la respuesta del servicio externo con un mock. Asegúrate de probar el flujo completo y el manejo de errores HTTP.

Prompt 4: Refactorizar tests existentes

Si heredas código sin tests:

Analiza este código legacy y genera tests que cubran al menos el 80% de las líneas. Ignora los métodos privados, concéntrate en la API pública. Usa describe/it con nombres descriptivos en español.

Mi truco favorito

Tío, lo mejor es combinar ambos. Le pido a Gemini que genere la estructura base de los tests (describe, it, mocks básicos), y luego uso Copilot para rellenar los detalles mientras escribo. Copilot es bestial prediciendo lo que necesitas si ya has definido el patrón.

Por ejemplo, después de que Gemini me cree:

describe('Calculadora', () => {

it('debe sumar dos números positivos', () => {

// Copilot me completa esto automáticamente

});

});

Copilot ya sabe que quiero un expect(calculadora.sumar(2,3)).toBe(5).

Consejos rápidos

  • Sé específico: No digas "haz tests", di "genera tests para esta función con Jest, mockeando la base de datos"
  • Usa comentarios: Copilot lee tus comentarios como contexto. Escribe // Test que falla si el usuario no existe y él lo entiende
  • Itera: Pide primero lo básico, luego ve refinando. No esperes magia de una sola vez

Y ojo, no te fíes ciegamente. Siempre revisa los tests generados, sobre todo los mocks. He visto a Copilot inventarse métodos que no existen. Pero para ahorrarte el 80% del trabajo, es una pasada.

Y tú, colega, ¿qué usas para agilizar los tests? ¿Copilot, Gemini, o sigues escribiéndolos a mano como un valiente? Cuéntame.

Más sobre Programación

Ver todo →