我在ASP.Net MVC中调试单元测试时遇到问题。每当我尝试调试选定的测试时,我设置的断点都会变成一个带有警告标志的空心圆。当我将鼠标悬停在它上面时,我收到以下错误:
“断点当前不会被命中。此文档没有加载任何符号。”
我在MSDN上搜索了这个错误,其中一个原因似乎是无法找到匹配的符号,因此断点无法从源代码映射到机器代码。我不知道该怎么做。
作为旁注,我可以调试我的常规项目。此错误似乎只影响我的项目的单元测试。谢谢你的帮助。
更新
@jamesaharvey - 是的,到目前为止,我已经尝试使用相同的结果调试我的几个测试,带有警告标志的空心调试圈。
样品测试:
/// <summary>
///A test for RequestForm with an existing user
///</summary>
[TestMethod()]
[HostType("ASP.NET")]
[AspNetDevelopmentServerHost("C:\\projects\\webDirectoryCorrectionRequest\\trunk\\WebDirectoryCorrectionRequest\\WebDirectoryCorrectionRequest", "/")]
[UrlToTest("http://localhost:54191/")]
public void RequestFormTest_2()
{
//Create Controller
var controller = new FormController();
//Create fake controller context
var formParams = new NameValueCollection { { "CN", "Swanson,Judith A" }, { "Type", "SNF" } };
controller.ControllerContext = new FakeControllerContext(controller, formParams);
//FormController target = new FormController();
var actual = controller.RequestForm() as ViewResult;
Assert.AreEqual("RequestForm", actual.ViewName);
}
答案 0 :(得分:2)
看看这是否有帮助:http://forums.asp.net/p/1246417/2291629.aspx
[ClassInitialize()]
public static void MyClassInitialize(TestContext testContext)
{
System.Diagnostics.Debugger.Launch();
}
实际上只是google for http://www.google.com/search?q=AspNetDevelopmentServerHost+attach,似乎是一个非常常见的问题。