2016-05-14 6 views
8

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.Wie strukturiert man ein asp.net 5 dnx Projekt mit Komponententests in Visual Studio Code?

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 in xUnit.net documentation beschrieben werden. 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 merkwürdige Ordnerstruktur.

+0

Bisher habe ich das Problem gelöst, indem ich zu Visual Studio gewechselt habe, aber es scheint komisch, dass der Standardgenerator dies nicht unterstützt. – looper

Antwort

7

Es gibt nichts, was Sie davon abhält, 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. der MVC one:

─ src 
    ├─ Microsoft.AspNetCore.Mvc 
    ├─ Microsoft.AspNetCore.Mvc.Abstractions 
    ├─ Microsoft.AspNetCore.Mvc.Core 
    └─ Microsoft.AspNetCore.Mvc.Razor 
─ test 
    ├─ Microsoft.AspNetCore.Mvc.Abstractions.Test 
    ├─ Microsoft.AspNetCore.Mvc.Core.Test 
    ├─ Microsoft.AspNetCore.Mvc.Razor.Test 
    └─ Microsoft.AspNetCore.Mvc.Test 

von denen Jedem ist ein Ordner mit einem vollen unabhängigen Projekt, mit einer eigenen project.json, die das Projekt definiert und setzt Abhängigkeiten auf.

Leider scheint die Yeoman-Integration in VS Code Gerüstprojekte nicht in Unterordner zuzulassen. Also, was Sie tun müssen, ist die src und test Ordner selbst erstellen, rüsten Sie Ihre Projekte einzeln und verschieben Sie sie in den entsprechenden Ordner. Zum Beispiel habe ich begonnen, 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.

Also der Stamm des Projekts und als solcher der Ordner, den Sie mit VS Code öffnen, und wo Sie Ihr Repository initialisieren würden, ist das Verzeichnis, in dem die Ordner src und test leben. Zum Beispiel mein Projekt (eingerichtet nun so aussehen würde mit Git und vscode spezifischer configs):

─ .git 
─ .vscode 
─ src 
    └─ Example 
─ test 
    └─ Example.Test 
─ global.json 
─ README.md 

der Vorteil dieser Struktur ist eigentlich, dass es mit auch kompatibel ist, was Visual Studio tun würde, wenn Sie eine neue Lösung erstellen.

+0

Wenn ich meine aspnet-Kernanwendung mit CI über GitHub in Azure bereitstellen möchte, wie soll ich dann meine Ordner organisieren? Wenn ich src- und Testordner in einem Repository habe, wie kann Azure aus welchem ​​Ordner das Bereitstellungsskript ausführen? –

+0

@DmitryGorshkov Das gleiche Problem hier ... Wie man Azure sagt, ein Projekt in src für die Bereitstellung auszuwählen. Irgendeine Idee? –

Verwandte Themen