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>
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>
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"" ]</code>
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"
Démarrez une session dlv sans tête :
dlv exec ./foo.test --headless --listen=:2345 --log --api-version=2 -- -count=1 -- $(pwd)/some/path
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>
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!