在实际调用外部函数之前,我正在模拟内部函数之一。 我正在模拟一个 httpwrpapper 类方法。 问题是我的模拟方法没有返回响应。 下面是代码的全部代码。
Httpwrapper 类和方法
我在下面尝试过,但是在实际调用方法时它不会产生/触发我嘲笑的响应
TL;DR:你不应该嘲笑你要测试的代码。
mockexecutor.object.SomeMethod(someparametrs);
这一行建议我尝试在模拟对象上调用
SomeMethod
。
每当我们谈论模拟时,我们应该只模拟被测系统的依赖关系(或简称)。
所以,在你的情况下你应该嘲笑
IHTTPClientWrapper
,而不是Executor
//Arrange
var mockHttpClient =new Mock<IHTTPClientWrapper>();
mockHttpClient
.Setup(client => ...)
.ReturnsAsync(...);
var sut = new Executor(mockHttpClient.Object);
//Act
sut.SomeMethod();
//Assert
...