Go : Comment utiliser un répertoire de travail spécifique dans les tests
Lors de l'écriture de tests unitaires dans Go, il est crucial de s'assurer que les tests ont accès aux fichiers de configuration nécessaires. Le comportement par défaut de « go test » suppose que le répertoire de travail est la racine du projet. Cependant, dans certains scénarios, vous pouvez rencontrer des problèmes liés à la recherche de fichiers en raison du fait que le code de test se trouve dans différents répertoires du projet.
Solution : Définition du répertoire de travail pour les tests
Pour spécifier un répertoire de travail spécifique pour vos tests, vous pouvez utiliser les approches suivantes :
package main import ( "log" "os" "testing" ) func TestMain(m *testing.M) { // Change the working directory to the test directory. pwd, err := os.Getwd() if err != nil { log.Fatalf("os.Getwd() failed: %v", err) } testDir := pwd + "/test_directory" if err := os.Chdir(testDir); err != nil { log.Fatalf("os.Chdir() failed: %v", err) } // Run the tests. os.Exit(m.Run()) }
package sample import ( "testing" "runtime" "fmt" ) func TestGetFilename(t *testing.T) { _, filename, _, _ := runtime.Caller(0) testDir := filepath.Dir(filename) if err := os.Chdir(testDir); err != nil { t.Fatalf("os.Chdir() failed: %v", err) } // Run the rest of the test. }
En implémentant l'une de ces approches, vous pouvez vous assurer que vos tests peuvent accéder aux fichiers de configuration nécessaires, leur permettant ainsi de s'exécuter avec succès.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!