5
與this question about NSubstitute類似,我想知道是否能夠使用FakeItEasy庫實現部分模擬。FakeItEasy支持部分模擬的想法嗎?
FakeItEasy似乎比moq具有更好的語法(比如前者處理將參數傳遞給僞造類的構造函數的強類型方法)。我正在考慮改用FakeItEasy,但我真的需要部分模擬支持。
與this question about NSubstitute類似,我想知道是否能夠使用FakeItEasy庫實現部分模擬。FakeItEasy支持部分模擬的想法嗎?
FakeItEasy似乎比moq具有更好的語法(比如前者處理將參數傳遞給僞造類的構造函數的強類型方法)。我正在考慮改用FakeItEasy,但我真的需要部分模擬支持。
Yes。語法並不比普通假不同:
var fake = A.Fake<Fake>();
A.CallTo(() => fake.SomeMethod()).CallBaseMethod();
或者,要覆蓋所有來電與基地電話:
var fake = A.Fake<Fake>();
A.CallTo(fake).CallBaseMethod();
編輯只是爲了清楚:假的對象必須在具體的創建班。
太好了,謝謝。 – rsenna 2012-07-13 17:19:10
我需要使用var fake = A.Fake(); (具體對象而不是界面),並在我使用之前使SomeMethod變爲虛擬(v 1.8.0)。 –
Aligned
2013-02-25 19:30:30
@Aligned:你說的對,必須在具體的類上創建假對象。爲了說清楚,我會編輯jimmy_keen的答案。 – rsenna 2013-02-28 19:05:08