Comment configurer correctement l'environnement de test (setup) en Go avec le package testing ?
Bonjour à tous ! J'ai commencé à apprendre Go et j'essaie d'écrire des tests unitaires pour mon projet. J'ai une fonction qui travaille avec une base de données et exécute plusieurs requêtes. Pour les tests, je dois préparer les données avant chaque test : créer des tables, insérer des enregistrements de test, et après le test, tout nettoyer.
Je connais les fonctions TestMain et t.Run, mais je ne comprends pas comment les utiliser correctement pour le setup/teardown. Dans d'autres langages (Java, Python), j'ai l'habitude des annotations @Before/@After ou des fixtures pytest. En Go, cela n'existe pas, et j'ai l'impression de copier le même code dans chaque test.
Voici un exemple de mon approche actuelle (que je n'aime pas) :
```go
func TestGetUser(t *testing.T) {
db := setupDB() // crée la BDD, les tables, insère les données
defer teardownDB(db) // supprime les tables
```