Visual studio 2008 为什么我在VS2008中运行unittest时cassini会启动?

Visual studio 2008 为什么我在VS2008中运行unittest时cassini会启动?,visual-studio-2008,unit-testing,cassini,Visual Studio 2008,Unit Testing,Cassini,我正在尝试测试一个不需要在asp.net环境中运行的类(控制器) 但当我进行测试时,卡西尼号开始了 我怎样才能避免卡西尼号的装载 谢谢您的控制器确实需要asp.net环境,它是您请求的处理程序。您可以将IDE设置为使用IIS。单击项目的“属性”页面,在“web”选项卡上,您将看到一个“使用IIS”单选按钮,该按钮将允许您设置虚拟目录。再也没有卡西尼号了 如果您在VisualStudio中使用了创建单元测试功能,那么它将进行如下测试 [TestMethod()] [HostType("ASP.NE

我正在尝试测试一个不需要在asp.net环境中运行的类(控制器)

但当我进行测试时,卡西尼号开始了

我怎样才能避免卡西尼号的装载


谢谢

您的控制器确实需要asp.net环境,它是您请求的处理程序。您可以将IDE设置为使用IIS。单击项目的“属性”页面,在“web”选项卡上,您将看到一个“使用IIS”单选按钮,该按钮将允许您设置虚拟目录。再也没有卡西尼号了

如果您在VisualStudio中使用了创建单元测试功能,那么它将进行如下测试

[TestMethod()]
[HostType("ASP.NET")]
[AspNetDevelopmentServerHost("C:\\working\\MDTest\\MvcApplication1", "/")]
[UrlToTest("http://localhost:1169/")]
public void AccountControllerConstructorTest()
{
   //Implementation
}
UrlToTest属性是导致卡西尼号启动的原因。如上所述,您的控制器确实需要asp.net环境,因为它是一个http处理程序,所以需要使用http调用它以测试它。如果你只是不喜欢卡西尼号(很公平),那么你仍然需要IIS来让它工作

如果您右键单击web项目,然后按照本文顶部的说明进行操作,则“创建单元测试”功能将产生此结果

[TestMethod()]
[HostType("ASP.NET")]
[UrlToTest("http://localhost/MvcApplication1")]
public void AccountControllerConstructorTest()...

在没有cassini的情况下运行:)

cassini应仅在调试或运行项目时运行(即通过按F5Ctrl-F5),而不是在执行单元测试时运行。通过查看ASP.NET项目的属性并选择Web选项卡,可以修改按F5时发生的情况。您尚未指定如何执行测试,但VisualStudio单元测试框架和NUnit等框架都将在一个单独的过程中运行测试,而不是Cassini。如果您不得不说您自己的控制台应用程序项目来执行测试,您应该确保已将此项目设置为启动项目。然后按F5将执行测试控制台应用程序,而不是Cassini。

如果在调试模式下运行测试,Cassini将启动。如果您在没有调试模式的情况下运行测试,那么它将不会运行。

问题在于代码覆盖率。我已经禁用了它,现在cassini不再启动(没有调试)。

我现在不知道为什么,但它在两种模式下启动(有调试和没有调试)。您可能已经将多个项目标记为启动项目,并且/或者将web项目的运行模式标记为调试而不是活动。这也可能是其中一个项目上的生成事件。我不想使用IIS,我只需要在没有web环境的情况下测试该类。我不确定为什么这会导致Cassini启动。这是单元测试还是自动测试?也许您可以发布一些测试代码,也可能发布一些目标代码。另外,如果它是一个单元测试,是nunit还是microsoft?只是尝试了一下,如果没有帮助,请告诉我,如果没有帮助,请投票作为答案:)当我尝试在不调试的情况下运行测试时(从VS),Cassini会启动。如果您有一个ASP.NET Web应用程序项目,并且您已经将它(在“Web”选项卡上)配置为“使用Visual Studio开发服务器”当你运行你的项目时,它将启动卡西尼号。不管您是运行调试版本还是发布版本。您必须决定启动什么,而不是Cassini,可能是控制台应用程序,或者使用内置或NUnit之类的测试框架。@如果您的问题现在已解决,您可以将此标记为答案吗?此处已解决:在解决方案资源管理器中选择项目,然后查看属性驳接(F4)并更改为“调试时始终启动”“假”。