Ich habe gerade ein neues asp.net 5 Projekt mit dem Yeoman Generator erstellt. Bis jetzt hat alles gut funktioniert, ich kann das Projekt mit Visual Studio Code bearbeiten und erstellen.
Nun möchte ich Komponententests hinzufügen, aber wie sind sie in VS Code strukturiert? In Visual Studio besteht der normale Weg darin, ein neues Projekt hinzuzufügen, das die Tests enthält, die im xUnit.net beschrieben werden Dokumentation . In VS Code kann ich jedoch nicht einfach ein Projekt hinzufügen, oder? Wo setze ich die Tests ein? Der Yeoman-Generator würde auch ein neues Projekt erstellen, aber das würde bedeuten, dass ich eine zweite Instanz von VS Code ausführen müsste und entweder ein zweites Git-Repo oder eine seltsame Ordnerstruktur.
Es gibt nichts, was Sie daran hindert, mehrere Projekte innerhalb einer einzigen Instanz von Visual Studio Code zu haben. Die Standardprojektstruktur für ASP.NET Core-Projekte verwendet tatsächlich mehrere Ordner. Sie können diese Struktur in allen ASP.NET Core-Projekten auf GitHub in Aktion sehen, z. die MVC one :
%Vor% Jeder von diesen ist ein Ordner mit einem vollständigen unabhängigen Projekt, mit seinem eigenen project.json
, das das Projekt definiert und Abhängigkeiten einrichtet.
Leider scheint die Yeoman-Integration in VS Code Gerüstprojekte nicht in Unterordner zu erlauben. Sie müssen also den Ordner src
und test
selbst erstellen, Ihre Projekte einzeln einrichten und in den entsprechenden Ordner verschieben. Ich habe zum Beispiel angefangen, eine "Empty Web Application" mit dem Namen Example
zu erstellen, und dann ein "Unit test project (xUnit.net)" mit dem Namen Example.Test
erstellt. Dann zog ich einfach Example
in den Ordner src
und Example.Test
in test
.
Der Stamm des Projekts und als solcher der Ordner, den Sie mit VS Code öffnen und in dem Sie Ihr Repository initialisieren würden, ist das Verzeichnis, in dem diese src
und test
Ordner liegen. Zum Beispiel mein Projekt (eingerichtet mit git und vscode spezifischen configs) würde jetzt so aussehen:
Der Vorteil dieser Struktur ist, dass sie auch mit dem kompatibel ist, was Visual Studio beim Erstellen einer neuen Lösung tun würde.
Tags und Links c# unit-testing asp.net-core visual-studio-code asp.net5