2014-03-07 37 views
1

我的英文不好。但我認爲你可以理解的代碼。 我有兩個類,像這樣:classB:classA classA是classB父類。現在我有兩個這樣的接口:IclassB,IclassA。 classA有一個方法。像這樣:classA.GetAllData(); 我想寫單元測試。我想測試classB.GetData(); classB.GetData()方法是這樣的:classB.GetData(){ return classA.GetAllData(); }RhinoMock:兩個類的引用,如何模擬父類方法?

所以,我嘲笑classA.GetAllData()。像這樣:var mockAStub= MockRepository.GenerateStub<IclassA>(); var mockA = new classA(mockAStub); mockA.stub(s=>s.....

測試方法不能去mockA方法, 你知道該怎麼做嗎?

回答

0

我想你想要做的是:

VAR mockAStub = MockRepository.GenerateStub(); mockAStub.Stub(s => s.GetAllData()).....

classB.GetData();

也許斷言方法mockAStub.GetAllData()被調用這樣的:

mockAStub.AssertWasCalled(S => s.GetAllData());

希望這個幫助

+0

非常感謝!今天我改變了assert方法。測試結果正常。 – Shukun