最小起订量错误 - 需要 'bool IsAny(HttpResponseMessage)' 的方法

Moq error - expected a method with 'bool IsAny(HttpResponseMessage)'

我想模拟这个方法:

public HttpClient CreateHttpClientForJwt(Func<HttpResponseMessage, bool> isUnauthenticated, int timeoutSeconds)
{
    var client = Mvx.Resolve<IPlatformOperationProvider>().CreateHttpClient(timeoutSeconds);
    return new HttpClient(new AuthenticatedHttpMessageHandler(this, client, AuthenticationUtils.AddJwtToRequest, isUnauthenticated,_loggingService));
}

我的尝试:

authenticatedRequestServiceMock.Setup(sm => sm.CreateHttpClientForJwt(It.IsAny<Expression<Func<HttpResponseMessage, bool>>>, 5)).Returns(stubHttpClient.Object);

我在编译前 IsAny Visual studio 中收到此错误:

expected a method with 'bool IsAny(HttpResponseMessage)'

我做错了什么?

删除

中的表达式
authenticatedRequestServiceMock
    .Setup(sm => sm.CreateHttpClientForJwt(It.IsAny<Expression<Func<HttpResponseMessage, bool>>>, 5))
    .Returns(stubHttpClient.Object);

并将 It.IsAny 更新为

authenticatedRequestServiceMock
    .Setup(sm => sm.CreateHttpClientForJwt(It.IsAny<Func<HttpResponseMessage, bool>>(), 5))
    .Returns(stubHttpClient.Object);

It.IsAny<TValue>() 是一种方法,但您将其称为 属性。您还将该方法描述为期望 Func 但设置为 Expression<Func<>>