我想知道如果這樣的事情存在:Visual Studio調試器複製對象
當在Visual Studio調試這將是非常好的,如果它有一個對象(其所有屬性和值)複製到記憶的能力。我在考慮一些你可以在代碼中放置一個斷點 - >右鍵單擊對象 - >點擊「創建moq到剪貼板」
然後,你可以去你的單元測試,粘貼文本,將粘貼代碼用所有這些屬性創建該對象。
我想這會節省大量的時間,並且對修復錯誤非常有用。
我在單元測試中發現的難點之一是創建模擬對象的手動過程。
我想知道如果這樣的事情存在:Visual Studio調試器複製對象
當在Visual Studio調試這將是非常好的,如果它有一個對象(其所有屬性和值)複製到記憶的能力。我在考慮一些你可以在代碼中放置一個斷點 - >右鍵單擊對象 - >點擊「創建moq到剪貼板」
然後,你可以去你的單元測試,粘貼文本,將粘貼代碼用所有這些屬性創建該對象。
我想這會節省大量的時間,並且對修復錯誤非常有用。
我在單元測試中發現的難點之一是創建模擬對象的手動過程。
如果您覺得創建模擬對象很麻煩,那麼您的設計或使用模擬對象的方式可能存在問題。你不應該爲簡單的「值」對象創建模擬 - 只是在你的單元測試中使用實際的對象。對於被測對象與之交互的更復雜對象,交互應該很少,否則可能會在對象之間存在過多的耦合。作爲一個經驗法則,如果很難測試,設計可能是錯誤的。
我對派對有點遲,但是我創建了一個Visual Studio擴展,它的功能與您要找的非常相似。它將生成C#代碼以從Visual Studio調試窗口初始化對象。
擴展可以在這裏找到:https://visualstudiogallery.msdn.microsoft.com/c6a21c68-f815-4895-999f-cd0885d8774f
的blog文章的詳細信息:http://www.omarelabd.net/exporting-objects-from-the-visual-studio-debugger/
我覺得這個說法是正確的一個綠色的田野項目。但是我正在一個現有的系統中工作,這個系統沒有太多的單元測試方法,而且目前我沒有太多時間進行重構。系統內解決問題的領域意味着要花費很多時間。我會考慮使用它作爲一個調試工具,這可以節省時間,並幫助過渡到更多單元測試的系統。 – user1619480
好吧,使用遺留代碼是一種不同的情況!簡短的回答:我不知道有什麼可以從調試器中生成模擬代碼。長時間的回答:Michael Feathers在遺留代碼中的有效工作對於處理遺留代碼測試的其他方法有很好的建議。 http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052 –