我似乎遇到了问题,我有一个在构造函数中接受 IUser 的类 (LoginService)。这是用于执行集成测试而不是单元测试,因此我不想模拟这些,我已经有一些单元测试并且它们在使用 Moq 和夹具时工作得很好。
我设置了我的夹具:-
var fixture = new Fixture();
然后我希望能够冻结 IUser 的一个版本,我尝试了以下但我无法让它工作,它抱怨它无法创建实例,可能是由于没有构造函数。
var user = fixture.Freeze<IUser>();
所以我设法让它工作做以下
IUser user = new User(); // Create my IUser manually
fixture.Inject(user);
然后最后创建 sut 并确实注入了实例。
var sut = fixture.Create<LoginService>();
那么我这样做正确吗?我可以不使用 Freeze 并且我应该继续手动创建我的 IUser 并将其注入到夹具中吗?
期待任何帮助或信息