Maison > développement back-end > Golang > Comment utiliser la fonction d'appelant de Go pour définir dynamiquement le répertoire de travail pour les tests ?

Comment utiliser la fonction d'appelant de Go pour définir dynamiquement le répertoire de travail pour les tests ?

Susan Sarandon
Libérer: 2024-10-30 04:49:28
original
1061 Les gens l'ont consulté

How to Use Go's Caller Function to Dynamically Set Working Directory for Tests?

Utilisation de l'appelant pour spécifier le répertoire de travail pour les tests Go

Lors du développement de tests pour une application Go, il est crucial que les tests accèdent à la configuration nécessaire fichiers situés dans un répertoire spécifique du répertoire de travail. Par défaut, le binaire recherche ces fichiers dans le chemin conf/*.conf sous le répertoire de travail.

Si l'exécution directe de la commande go test ne parvient pas à localiser les fichiers de configuration, une autre approche peut être adoptée. En tirant parti de la fonction Caller, nous pouvons établir le chemin d'accès au fichier source de test actuel.

Voici un extrait de code illustrant cette technique :

<code class="go">package sample

import (
    "testing"
    "runtime"
    "fmt"
)

func TestGetFilename(t *testing.T) {
    _, filename, _, _ := runtime.Caller(0)
    t.Logf("Current test filename: %s", filename)
}</code>
Copier après la connexion

Dans cet exemple, nous invoquons la fonction Caller pour récupérer des informations sur la fonction de test, y compris son nom de fichier. En enregistrant le nom du fichier, nous pouvons vérifier l'emplacement du fichier source de test et utiliser ces informations pour définir le répertoire de travail en conséquence. De cette façon, les tests peuvent accéder avec succès aux fichiers de configuration requis.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal