2010-06-01 60 views
0

任何人都可以幫忙嗎?用DEBUG強制加載Asp.net開發服務器以測試wcf服務(nunit)?

我在vs 2010中有一個解決方案,其中包含一個WCF服務應用程序和一個類庫,它有一些Nunit測試。

nunit測試服務。問題是沒有Asp.net開發服務器運行 - 是否有可能強制它在調試模式下運行..

我可以按F5,但然後我無法運行我的測試。

也許我這樣做是錯的,我應該在IIS 7下託管它們嗎?而不是內置的開發服務器。

這樣的服務器始終可用而不是按需

+0

你如何運行你的NUnit測試? – roufamatic 2010-06-01 19:57:28

+0

通過視覺工作室內的Resharper – 2010-06-01 20:33:05

+0

您可能會對我的更新感興趣。 – 2010-07-25 08:51:02

回答

1

請參閱http://www.codeproject.com/KB/aspnet/test-with-vs-devserver-2.aspx,這是非常輕量級的,並且我認爲這是一種將webdev/cassini集成到測試環境中的優雅方法。

注意:控制.exe的第一個示例僅用於寓教於樂的目的。仔細閱讀第二個非常簡短的代碼示例,瞭解所拍攝的錢。


更新

我用上面所列的NUnit的技術和最每次單元測試亞軍各地,包括在我不控制,廣泛很大的成績服務器持續集成。

當我需要模擬一個真實的服務器主機名和非回送IP地址,WebDev.WebServer和WebDev.WebHost不能做,

  • 我添加主機名到我的hosts文件,例如localhost.skysanders.net 192.168.0.10
  • 使用CassiniDev .dll幾乎完全一樣的方式

它是如此簡單和防彈它應該是非法的。 ;-)

CassiniDev也是VS 2008/2010的WebDev.WebServer.exe的完美替代品。它集成了流量監控功能,無論是在啓動時還是在處理時,速度都快了一點。

0

我有一個完全相同的佈局解決方案。我寧願在IIS中測試它們,因爲這是它們將被部署的位置,並且很高興知道代碼肯定在有限的IIS帳戶下運行,而不是在我的域帳戶下運行。我運行單元測試如下:

  1. 確保IIS正在運行。
  2. 右鍵單擊WCF服務項目併發布到IIS。
  3. 在客戶端測試項目上啓動NUnit並運行測試。
  4. 如果通過了所有測試,再大,否則...
  5. 離開NUnit的打開,切換到Visual Studio,調試器(我的開發機器上aspnet_wp.exe)附加到IIS工作進程。
  6. 切換回NUnit並重新運行失敗的測試。任何異常和斷點都會像平常一樣進入調試器。
  7. 沖洗並重復多次,只要你喜歡。