【问题标题】:What causes Cassini to load when I run a unit test [duplicate]当我运行单元测试时,是什么导致 Cassini 加载[重复]
【发布时间】:2011-11-23 00:06:02
【问题描述】:

我有一个解决方案的测试项目,其中涉及一个 MVC Web 应用程序和几个类库。我正在使用模拟对象和 System.Web.Abstractions 来避免对 ASP.NET 内部对象的依赖。但是当我开始我的测试项目 Cassini 加载。如果我立即停止卡西尼,我所有的测试仍然通过。那么为什么会加载呢?这不是它正在加载的问题。但如果我做的一切都是正确的,它似乎不应该加载。那么是什么导致它在我运行测试时加载?

该项目正在进行大量更改,而我已经有几天没有直接工作了,所以我不知道 Cassini 是什么时候开始运行的。

【问题讨论】:

    标签: tdd cassini


    【解决方案1】:

    听起来您的测试正在触及 System.Web.Abstractions 之外的东西。您正在接触抽象程序集中的哪些类?需要此信息来确定为什么要加载 Cassinin。

    【讨论】:

    • 谢谢,但我想我只需要深入研究并具体找出导致它加载的原因。我可能只是对测试项目进行一些探索,看看最终导致它加载的原因。
    【解决方案2】:

    我不做 asp.mvc 但似乎是一个常见的场景。

    这是一个 wep 应用程序,不是吗?打开项目属性,选择底部附近的“web”选项卡,选择“不要打开页面...”并取消选中 Debuggers:asp.net。

    HTH, 天空

    【讨论】:

    • 我不再从事该项目,因此无法验证您的修复是否适用于我的问题,但我会将您的修复标记为答案。
    【解决方案3】:

    当我运行我的单元测试项目时,我实际上是在尝试寻找运行 cassini 的方法。我可以通过设置对 web 项目的显式项目依赖来做到这一点。

    即 右键单击单元测试项目 > 项目依赖项 > 勾选 web 项目。

    对于您的情况,它可能会撤消此操作。取消勾选 web 项目。 希望有帮助

    【讨论】:

      【解决方案4】:

      好的,所以我的问题的实际答案就在这里:How do you configure VS2008 to only open one webserver in a solution with multiple projects?

      事实证明,您可以转到属性窗口(选择项目 -> F4)并通过将“调试时始终启动”设置为“false”来关闭它。最后,这一直很烦人,甚至当我的测试项目完全不依赖 Web 项目时也会发生这种情况。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-07
        • 2019-02-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多