Ihr Controller die asp.net-Umgebung benötigt, ist es der Handler für Ihre Anfragen. Sie können stattdessen festlegen, dass Ihre IDE IIS verwendet. Klicken Sie auf die Eigenschaftenseite Ihres Projekts und auf der Registerkarte Web sehen Sie ein Optionsfeld IIS verwenden, mit dem Sie ein virtuelles Verzeichnis einrichten können. Dann nicht mehr Cassini.
Wenn Sie die angelegt haben verfügen über Unit-Tests in Visual Studio dann haben sie einen Test wie dieser
[TestMethod()]
[HostType("ASP.NET")]
[AspNetDevelopmentServerHost("C:\\working\\MDTest\\MvcApplication1", "/")]
[UrlToTest("http://localhost:1169/")]
public void AccountControllerConstructorTest()
{
//Implementation
}
Das UrlToTest gemacht Attribut ist, was cassini zu beginnen verursacht. Wie oben erwähnt, benötigt Ihr Controller die asp.net-Umgebung, da es sich um einen http-Handler handelt. Daher muss er über http aufgerufen werden, um ihn zu testen. Wenn Sie Cassini einfach nicht mögen (fair genug), dann brauchen Sie immer noch IIS, um es zum Laufen zu bringen.
Wenn Sie direkt auf Ihrem Web-Projekt klicken, und folgen Sie den Anweisungen am Anfang der Post, die Unit-Tests erstellen Features werden diese
[TestMethod()]
[HostType("ASP.NET")]
[UrlToTest("http://localhost/MvcApplication1")]
public void AccountControllerConstructorTest()...
produzieren, die ohne cassini läuft :)
Bereits gelöst hier: http://stackoverflow.com/questions/533412/what-causes-cassini-to-load-when-i-run-a-unit-test Wählen Sie dann das Projekt im Solution Explorer aus Sehen Sie sich das Eigenschaften-Dock (F4) an und ändern Sie "Immer beim Debuggen starten" auf "false". –