Wie kann ich Unit-Tests mit Flags in VS-Code ausführen und debuggen?

Mary-Kate Olsen
Freigeben: 2024-10-27 17:37:31
Original
501 Leute haben es durchsucht

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

Ausführen und Debuggen von Unit-Tests mit Flags in VS-Code

Um Unit-Tests mit Flags in VS-Code auszuführen, kann man den Vorgang ändern. testFlags-Wert in der vscode-settings.json-Datei. Das hier aufgetretene Problem sind jedoch die unterschiedlichen Konfigurationen, die zum Ausführen und Debuggen von Tests erforderlich sind.

Tests ausführen

Um Tests mit dem erforderlichen Flag auszuführen, kann die folgende Konfiguration verwendet werden verwendet:

<code class="json">"go.testFlags": [
    "-ldflags",
    "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn"
]</code>
Nach dem Login kopieren

Debugging-Tests

Für Debugging-Tests sollte die Konfiguration einfache Anführungszeichen um das Flag enthalten:

<code class="json">"go.testFlags": [
    "-ldflags",
    "'-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn'"
]</code>
Nach dem Login kopieren

Kombinierte Konfiguration

Um das Wechseln zwischen Konfigurationen zu vermeiden, kann man die folgende kombinierte Konfiguration ausprobieren:

<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>
Nach dem Login kopieren

Dlv zum Debuggen verwenden

Alternativ kann man dlv zum Debuggen von Tests verwenden. So kompilieren Sie die Testbinärdatei mit deaktivierten Optimierungen:

go test -c -ldflags "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn" -gcflags="all=-N -l"
Nach dem Login kopieren

Starten Sie eine Headless-DLV-Sitzung:

dlv exec ./foo.test --headless --listen=:2345 --log --api-version=2 -- -count=1 -- $(pwd)/some/path
Nach dem Login kopieren

Verbinden Sie VS-Code mit der DLV-Sitzung, indem Sie eine launch.json-Datei erstellen:

<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>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Unit-Tests mit Flags in VS-Code ausführen und debuggen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!