我想用Pose
nu-get 包为静态方法编写一个测试,但我不明白语法应该是什么样子。在 GitHub 页面上有一个 mocking 的示例,但它仅适用于具有一个参数的 void 方法:
Shim consoleShim = Shim.Replace(() => Console.WriteLine(Is.A<string>())).With(
delegate (string s) { Console.WriteLine("Hijacked: {0}", s); });
但我需要模拟方法:static bool ImagesExistsInDirectory(string ruleId, out string advertise_path);
它与示例不同,它有 out 参数并返回 bool 值。我认为它应该看起来像这样,但它有参数错误和不匹配的参数。
Shim shim = Shim.Replace<string>(
() => FileOps.ImagesExistsInDirectory(Pose.Is.A<string>(), out Pose.Is.A<string>())
).With<string, string>(
delegate (string a, string b) { StubForStaticImages(a, out b); });
有人可以解释一下它是如何工作的吗?