如何解决DI 未给出的类的模拟方法
我有一个课程要测试。类构造函数有一个注入的类和另一个在构造函数中初始化的类。第二个类来自外部来源。
public class MyClass
{
private readonly ILogger<MyClass> _logger;
private readonly MavlinkParse _mavlink;
public MyClass(ILogger<MyClass> logger)
{
_logger = logger;
_mavlink = new MavlinkParse();
}
}
后来我有了一个方法,根据条件调用 _mavlink
方法。我想以某种方式模拟这些方法,或者更好地只是“监视”它们并知道调用了哪个。
方法:
public SomeMethod(input)
{
if(cond)
return _mavlink.method1(lots of params);
return _mavlink.method2(lots of params);
}
我知道如何使用 xunit
和 moq
模拟记录器。我所困扰的是如何测试 SomeMethod()
。
我来自有角的世界,在那里我可以用间谍轻松解决这个问题,expect(method1Spy).toHaveBeenCalled()
会很完美。我也可以接受让 method1()
返回一个硬编码值,忽略参数,并检查它是否通过的想法
如何在 c# dotnet core 中使用 xunit 和 moq 实现这种效果?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。