我似乎有问题,我有一个类(LoginService),它在构造函数中接受一个IUser。这是为了执行集成测试而不是单元测试,因此我不想MOCK这些,我已经进行了一些单元测试,并且他们使用Moq与夹具一起工作得很好。AutoFixture:无法创建一个实例,可能没有公共构造函数
设置我的灯具: -
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并将其注入到夹具中?
期待任何帮助或信息
我当然可以采取autofixture的方程,但我认为它即使不嘲笑也派上用场,即我可以做var user = new User(); var sut = new LoginService(user); – Martin