我试图在.NET HttpClient中使用F#中的Moq来模拟它。我目前有以下代码:
open System.Net.Http
open Foq
[<Fact>]
let ``Some test`` () =
Mock<HttpClient>.With
(fun client ->
<@ client.GetStringAsync("foo")
--> task { return "bar" } @>)
|> ignore在运行测试时,我会得到以下错误。
System.Reflection.TargetParameterCountException :参数计数不匹配。
我怎么才能解决这个问题?
我知道有许多类似的问题,但它们都是支持C#的。他们提到,要么某个地方缺少参数,要么应该添加有回调的东西。但我不知道缺少了哪些参数,也不知道如何将回调添加到我的示例中。
发布于 2022-01-28 16:29:36
我研究了一下这一点,它似乎是由F#引用的一个潜在问题引起的,而可以在Foq中解决。例如,以下代码引发相同的未处理异常:
<@ task { return "bar" } @>
|> FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation
|> printfn "%A"我在问题核心存储库中将其报告为F#。
https://stackoverflow.com/questions/70789679
复制相似问题