我們使用Rhino Mocks來執行一些單元測試,並需要模擬兩個接口。只有一個接口在對象上實現,另一個接口是使用面向方面的方法動態實現的。是否有一種簡單的方法來動態組合這兩個接口,以便可以創建一個模擬併爲兩個接口存留方法?創建模擬時如何組合兩個界面?
16
A
回答
3
使用犀牛製品多個接口的模擬可以像這樣產生:
var mocker = new MockRepository();
var mock = mocker.CreateMultiMock<IPrimaryInterface>(typeof(IFoo), typeof(IBar));
mocker.ReplayAll();
11
這不是動態的,但肯定很簡單:創造出什麼也不做比實現其他兩個接口之外的其他檢測裝置內的接口:
internal interface ICombined : IFirstInterface, ISecondInterface {}
然後嘲笑ICombined
。
14
使用犀牛製品
var mock = MockRepository.GenerateMock<IFirst, ISecond>();
mock.Stub(m => m.FirstProperty).PropertyBehavior();
((ISecond)mock).Stub(k=> k.SecondProperty).PropertyBehavior();
實測值和從http://www.richard-banks.org/2010/08/mocking-comparison-part-11-multiple.html
+3
如果其他絆倒t他注意到它是生成**模擬**而不是`GenerateStub`。存根版本沒有多個類型參數。 – Default 2013-04-15 12:29:35
相關問題
- 1. 如何創建一個用戶界面來模擬WPF中的RAM分區?
- 2. 如何連接這兩個表(創建多語言界面)
- 3. 創建一個虛擬合併組
- 4. 如何(Google)模擬DBUS界面?
- 5. 如何創建3D模擬?
- 6. 創建界面
- 7. 如何在兩個數組中創建一個對象集合?
- 8. 創建兩個向量的組合
- 9. 創建界面最適合什麼?
- 10. 如何在模擬對象內創建一個模擬對象?
- 11. 如何在PHPSpec中創建一個模擬數組?
- 12. 需要幫助爲Android創建模擬世界時鐘部件
- 13. 如何創建兩個LongListSelector組合並滾動到一起?
- 14. 合併兩個或多個模擬
- 15. 在Linux中如何創建兩個組?
- 16. 如何創建一個Qt組合框
- 17. 如何創建一個模擬時間的類?
- 18. 如何創建這樣的界面?
- 19. 如何在java中創建界面
- 20. 如何創建和保存gtk界面
- 21. 如何創建組合鍵?
- 22. 如何創建和模擬業務模擬遊戲的虛擬時間
- 23. 模擬創作內Mockito模擬創建
- 24. 我將如何創建一個虛擬世界應用程序?
- 25. 如何合併兩個數組以在JavaScript中創建一個數組?
- 26. 如何模擬Ctrl-S組合鍵?
- 27. C#創建兩個集合
- 28. 從兩個數組創建時間
- 29. 如何組合兩個NameValueCollections?
- 30. 創建兩個隨機邊界
音符所使用的信息`ReplayAll`是[過時的犀牛嘲諷樣式](http://stackoverflow.com/questions/6078061/what-is-replayall-and-verifyall-in-rhinomocks) – Default 2013-04-15 12:34:30