2

我有VS 2010中的ASP.NET MVC 2 Web應用程序,並決定嘗試使用MS單元測試的東西。你知道什麼,在我創建它的第一個測試中,讓我感到悲傷並拒絕詳細說明。VS 2010中的MS單元測試,測試方法[我的方法]拋出一個異常:...,WT *?

我創建了一個測試類和一個測試方法。我使用Moq創建一個HttpContext(包括Request,Response,Session,QueryString,Form和Cookies)。該方法正在測試我的某個控制器上的某個操作,並且在使用MVC模型綁定功能時該操作發生異常。 但是這不是問題。

當我在VS中運行測試它只是說:「測試方法[myTestMethodNameHere]拋出異常:...」!所以它並沒有給我任何想法,它說的例外是什麼......最後,就像電視上的懸崖 - 「...在VS 2011中發現,即將推出」8(。

調試該測試沒有幫助,因爲它發生在我調用的UpdateModel(T)行上。我使用自己的自定義綁定器類,但它沒有到達第一行代碼中的斷點,所以異常必須發生在MVC框架

我想這是一個冗長的方式詢問是否有一些配置或代碼需要寫入以獲得MS單元測試框架,以顯示我在測試結果中的異常窗口,是我還是聽起來像其他人有的MS問題?

任何幫助非常感謝, 彼得

回答

3

右鍵單擊測試結果窗格中的失敗的測試,然後單擊查看測試結果詳細信息。您將得到一個指定異常,其消息和堆棧跟蹤的文檔。

由於您使用的起訂量,我猜的類型將是MoqVerificationException - MSTest的遺憾的是不把它撿起來以同樣的方式它拿起AssertFailedExceptions,所以no nice error messages有...

+0

LOL - 這是它。它顯示了確切的異常(空引用)。 我寫了一個NUnit測試,發現這個異常之前,看到這個,哈。嗯VS 2010顯示方法的問題是不是很好。在結果窗格中雙擊可以進入一行代碼,而不是查看失敗的細節。 – Peter 2010-07-21 13:47:31

+0

如果您使用NUnit進行測試,我真的推薦使用另一個測試運行器而不是MSTest。終於搞清楚如何使用TestDriven.Net(猜測他們的網站?)runner集成到visual studio中(這真的很簡單 - 我在這裏是個傻瓜......)我決定只是在昨天才把我的測試遷移到NUnit和改用它。你也可以從MSTest中獲得很好的錯誤信息,用於其他類型的AssertFailedException負載 - 其中包括NUnit AssertionException。 – 2010-07-21 14:24:01

+0

我試圖在發佈錯誤時使用MSTests。但我添加了一個NUnit測試,然後單獨啓動了NUnit GUI應用程序,並在我的Tests.DLL上運行它以獲取異常。 我在創建項目時看到我可以選擇另一個測試框架,但我的目標是嘗試使用默認MSTests。但是現在我找不到使用NUnit的地方。雖然我現在有了「doh!」時刻指出我們的第一反應,這不是一個更好的瞭解問題。 – Peter 2010-07-22 07:32:49