2010-01-25 116 views
2

我在調試我的單元測試在ASP.Net MVC的問題。每當我嘗試和調試選定的測試時,我設置的斷點都會變成帶有警告標誌的空心圓。當我將鼠標懸停在它上面時,出現以下錯誤:Debuggin單元測試在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

這是您的所有考試嗎?你能添加一個代碼示例嗎? – jamesaharvey 2010-01-25 18:11:51

+0

你如何運行你的單元測試? – Min 2010-01-25 18:14:22

+0

@Min - 我正在使用「測試視圖」窗口單獨運行每個測試或選擇要運行的測試集合。對於我想調試的測試,我右鍵單擊測試並點擊調試選擇。 – kingrichard2005 2010-01-25 18:18:27

回答

2

看看這有助於:http://forums.asp.net/p/1246417/2291629.aspx

[ClassInitialize()] 
public static void MyClassInitialize(TestContext testContext) 
{ 
    System.Diagnostics.Debugger.Launch(); 
} 

其實只是谷歌爲http://www.google.com/search?q=AspNetDevelopmentServerHost+attach,似乎是一個很常見的問題。

+0

工作就像一個魅力,感謝queen3! :-)它也有助於閱讀您發佈的論壇鏈接,它確實揭示了整個過程。 – kingrichard2005 2010-01-26 17:16:02