2009-09-01 65 views

回答

1

我做了一次,這是一個巨大的痛苦,沒有什麼好處。我建議反對它。實際測試序列化會遇到一些邊緣情況,但在驗收測試期間,大多數邊界情況(可能會傳遞大量數據的例外情況)都會被發現。

我的建議是儘可能保持您的webmethods儘可能裸露,如果可以的話,一直到一行或兩行代碼。將所有業務邏輯移至一個或多個Plain Old CLR對象(PO​​CO)。這些可以與您的Web服務位於同一個項目中,也可以位於單獨的類庫中(與2008年解決方案相同);分離將允許更多的重用。

爲單元測試創​​建另一個類庫(同樣在同一個解決方案中)。讓它僅引用業務邏輯庫。針對這些方法的測試將會相對較快。

webmethods可能包含一些簡單的邏輯(將數組轉換爲列表,創建對象等),但要儘量保持它們的簡單性,以便它們不太可能中斷。

您可以使用像ReSharper這樣的測試集成來使用斷點,或者只需運行NUnit並附加到VS調試器中的進程。 (可能與其他測試框架類似)。

WCF可能也值得研究;我認爲它有一些功能可以幫助你。 (我不是WCF專家。)