Habilidades golang-testing
🧪

golang-testing

Seguro

Écrire des tests Go efficaces

Também disponível em: Joseph OBrien

L'écriture de tests en Go peut être un défi sans guide sur les modèles et les bonnes pratiques. Cette compétence fournit des exemples complets pour les tests basés sur des tables, les mocks, les tests d'intégration avec des conteneurs et les benchmarks de performance.

Suporta: Claude Codex Code(CC)
📊 69 Adequado
1

Baixar o ZIP da skill

2

Upload no Claude

Vá em Configurações → Capacidades → Skills → Upload skill

3

Ative e comece a usar

Testar

A utilizar "golang-testing". How do I write tests for a function that adds two numbers?

Resultado esperado:

  • Utilise des tests basés sur des tables avec t.Run pour chaque cas :
  • Teste les nombres positifs, négatifs, les signes mélangés et les zéros
  • Utilise t.Errorf pour rapporter les échecs avec les valeurs attendues et réelles
  • Regroupe les tests liés dans une slice de cas de test pour la maintenabilité

Auditoria de Segurança

Seguro
v3 • 1/10/2026

This is a pure prompt-based skill containing only markdown documentation about Go testing patterns. No executable code, scripts, network calls, or file system access. The skill provides informational guidance only.

1
Arquivos analisados
428
Linhas analisadas
0
achados
3
Total de auditorias
Nenhum problema de segurança encontrado
Auditado por: claude Ver Histórico de Auditoria →

Pontuação de qualidade

38
Arquitetura
100
Manutenibilidade
81
Conteúdo
32
Comunidade
100
Segurança
78
Conformidade com especificações

O Que Você Pode Construir

Apprendre les modèles de test

Maîtriser les tests basés sur des tables, les mocks et l'organisation des tests pour du code Go de production.

Tests d'intégration

Configurer des tests d'intégration avec des conteneurs de test pour les bases de données et les services externes.

Benchmark de code

Écrire et exécuter des benchmarks pour mesurer et optimiser les sections de code critiques en termes de performance.

Tente Estes Prompts

Test de table basique
Montre-moi comment écrire un test basé sur une table en Go pour une fonction appelée Divide qui prend deux entiers et renvoie le quotient et une erreur.
Mock des dépendances
Comment créer un mock pour une interface UserRepository pour tester mon UserService sans vraie base de données ?
Tests d'intégration
Écris un test d'intégration utilisant testcontainers pour tester mon dépôt contre une vraie base de données PostgreSQL.
Benchmarks de performance
Montre-moi comment écrire un benchmark Go pour une fonction de tri avec différentes tailles d'entrée.

Melhores Práticas

  • Teste le comportement, pas l'implémentation - concentre-toi sur les entrées et sorties plutôt que sur les détails internes
  • Utilise t.Helper() pour marquer les fonctions helper pour un rapport d'erreurs plus clair
  • Exécute les tests indépendants en parallèle avec t.Parallel() pour accélérer les suites de tests

Evitar

  • Évite un test avec de nombreuses assertions - divise en cas de test focalisés
  • Ne saute pas t.Cleanup() pour la gestion des ressources
  • Évite de coder en dur les données de test - utilise des fixtures ou des fabriques de test

Perguntas Frequentes

Quelles versions de Go sont supportées ?
Fonctionne avec Go 1.14 et les versions ultérieures. Les exemples utilisent le package testing de la bibliothèque standard.
Quelle est la complexité maximale de test supportée ?
Pas de limites. Les modèles passent à l'échelle des tests unitaires simples aux suites de tests d'intégration complexes.
Comment m'intégrer aux frameworks de test existants ?
Compatible avec testify, ginkgo, gocheck et autres bibliothèques de test. Les exemples utilisent des modèles standards.
Cette compétence modifie-t-elle mes fichiers de projet ?
Non. Cette compétence fournit uniquement des conseils et des exemples. Elle ne lit ni n'écrit aucun fichier de projet.
Pourquoi mes tests échouent-ils ?
Vérifie que ton fichier de test se termine par _test.go et est dans le même package que ton code. Vérifie que les signatures de fonctions de test utilisent le paramètre *testing.T.
En quoi est-ce différent des tests intégrés de Go ?
Cette compétence améliore les tests intégrés de Go avec des modèles, des bonnes pratiques et des exemples. Elle s'appuie sur les fonctionnalités standards de test.

Detalhes do Desenvolvedor

Estrutura de arquivos

📄 SKILL.md