最小起订量在使用 ninject 时生成类声明
本文关键字:ninject 声明 | 更新日期: 2023-09-27 18:36:53
我正在尝试对第三方库进行单元测试,该库在其构造函数上具有许多接口定义。
例如;
IKernel kernel = new StandardKernel();
kernel.Bind<IOwnerDataProvider>().To<OwnerDataProviderFake>();
我必须手动创建OwnerDataProviderFake 因为我不想使用它的实际实现。
有没有办法使用 Moq 创建此接口的虚假实现而不是手动创建?
例如,像这样;
kernel.Bind<IOwnerDataProvider>().To<Mock.GenerateFakeClassDefinition<IOwnerDataProvider>()>();
当然,这就是最小起订量(和嘲笑)的重点。 查看 Moq 快速入门以获取有关创建模拟对象的更多示例,但请尝试以下操作:
kernel.Bind<IOwnerDataProvider>()
.ToMethod(context => new Moq.Mock<IOwnerDataProvider>().Object);
这将在每次从内核获取 IOwnderDataProvider
接口时创建一个新的模拟。
您可能希望通过调用Setup
来配置它的行为,但是如果没有您的更多信息,我无能为力。