Maison > développement back-end > Golang > Comment exécuter et déboguer des tests unitaires avec des indicateurs dans VS Code ?

Comment exécuter et déboguer des tests unitaires avec des indicateurs dans VS Code ?

Mary-Kate Olsen
Libérer: 2024-10-27 17:37:31
original
625 Les gens l'ont consulté

How to Run and Debug Unit Tests with Flags in VS Code?

Exécution et débogage de tests unitaires avec des indicateurs dans VS Code

Pour exécuter des tests unitaires avec des indicateurs dans VS Code, on peut modifier le go. valeur testFlags dans le fichier vscode settings.json. Cependant, le problème rencontré ici réside dans les différentes configurations requises pour l'exécution et le débogage des tests.

Exécution de tests

Pour exécuter des tests avec l'indicateur requis, la configuration suivante peut être utilisé :

<code class="json">"go.testFlags": [
    "-ldflags",
    "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn"
]</code>
Copier après la connexion

Tests de débogage

Pour les tests de débogage, la configuration doit inclure des guillemets simples autour du drapeau :

<code class="json">"go.testFlags": [
    "-ldflags",
    "'-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn'"
]</code>
Copier après la connexion

Configuration combinée

Pour éviter de basculer entre les configurations, on peut essayer la configuration combinée suivante :

<code class="json">"go.testFlags": [
    "-ldflags",
    "'-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn'",
    "-ldflags",
    "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn&quot;"  
]</code>
Copier après la connexion

Utilisation de Dlv pour le débogage

Alternativement, on peut utiliser dlv pour déboguer les tests. Pour compiler le binaire de test avec les optimisations désactivées :

go test -c -ldflags "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn" -gcflags="all=-N -l"
Copier après la connexion

Démarrez une session dlv sans tête :

dlv exec ./foo.test --headless --listen=:2345 --log --api-version=2 -- -count=1 -- $(pwd)/some/path
Copier après la connexion

Connectez VS Code à la session dlv en créant un fichier launch.json :

<code class="json">{
    ...
    "configurations": [
        {
            "name": "Debug Test",
            "type": "go",
            "request": "attach",
            "mode": "remote",
            "port": 2345,
            "host": "127.0.0.1",
            "showLog": true,
            "trace": "log"
        }
    ]
}</code>
Copier après la connexion

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