BTPhysicalAccount testerInstance = new BTPhysicalAccount(IvirtualAccounts, BTmarketIn, int);
我想测试这个类的方法。 BTmarketIn是一个具体的类,该类中的方法用于该测试方法。所以我需要嘲笑那个方法因此我尝试了这个:
var readerAsk = Substitute.ForPartsOf<BTMarketInfo>();
readerAsk.When(x => x.GetAskPrice(Arg.Any<SymbolType>())).DoNotCallBase();
readerAsk.GetAskPrice(Arg.Any<SymbolType>()).Returns(2000);
readerAsk.When(x => x.GetBidPrice(Arg.Any<SymbolType>())).DoNotCallBase();
readerAsk.GetBidPrice(Arg.Any<SymbolType>()).Returns(2000);
它一直抛出null异常错误,经过一些研究我意识到你不能模拟非虚方法。 所以我确实有一个BTMarketIn类IMarketInfo的接口类。现在我可以模拟这个接口的实例,但我需要一个BTMarketIn实例作为构造函数参数传递。我该如何解决这个问题?
答案 0 :(得分:0)
Microsoft Fakes Shims应该适用于此:https://msdn.microsoft.com/en-us/library/hh549175.aspx#shims