Verwenden von Microsoft.aspnetcore.testhost Ich kann http nicht zu Controller-Aktion Rückkehr Rasierer sehen. Ich muss die Antwort prüfen hat spezifische Sicherheitsheader und andere Tests, die ich auf den Aktionsantworten ausführen möchte. Razor wirft Kompilation Ausnahmen für jeden Namespace trifft es, nicht nur das System folgendes Beispiel:Testen von asp.net Core 1.1 mvc Aktionen Wiederherstellen von Rasiermesser Ansichten mit microsoft.aspnetcore.testhost
oclq12bb.ugz(5,11): error CS0246: The type or namespace name 'System' could
not be found (are you missing a using directive or an assembly reference?)
oclq12bb.ugz(6,11): error CS0246: The type or namespace name 'System' could
not be found (are you missing a using directive or an assembly reference?)
Repro:
- Visual Studio 2017 erstellen Sie einen neuen asp.net Kern 1.1 Webprojekt und füge ein .net Kerneinheitstestprojekt.
- Entfernen Sie die Appsettings vom Start.
- Legen Sie die Ansicht /home/index.cshtml fest, um in das Ausgabeverzeichnis zu kopieren und "immer kopieren" zu verwenden.
- erstellen und führen Sie Unit-Test. Löst Ausnahme aus.
Code:
[TestClass]
public class UnitTest1
{
private readonly HttpClient _client;
public UnitTest1()
{
var server = new TestServer(
new WebHostBuilder().UseStartup<Startup>());
_client = server.CreateClient();
}
[TestMethod]
public async Task Test1()
{
var response = await _client.GetAsync("/");
}
}
Ich habe versucht, das Web-Projekt in einen Ordner zu veröffentlichen und die .UseContentRoot mit() anstelle von Kopie immer. Gleiches Ergebnis.
https://github.com/aspnet/Hosting/issues/954 – longday