c# - 带有构造函数参数的最小起订量

标签 c# .net ninject moq ninject-2

我有一个如下所示的工厂:

public IFoo GetFoo(IFile file)
{
  return _kernel.Get<IFoo>(new ConstructorArgument("file", file));
}

在我使用 Moq 模拟 IFoo 之前,它工作正常。在 mock 中没有名为 file 的构造函数参数,我得到一个 Ninject.ActivationException。

我该如何解决?

最佳答案

您应该在测试期间模拟您的工厂。希望“GetFoo”方法是您的工厂接口(interface)的一部分。模拟工厂,然后您可以设置工厂以返回您想要的任何 IFoo(测试 IFoo 或可能是模拟 IFoo)。

关于c# - 带有构造函数参数的最小起订量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7664884/

相关文章:

c# - 重构和模拟以支持单元测试

c# - 尝试从预览运行屏幕保护程序时出现 SHIM_NOVERSION_FOUND 错误

.net - Toast 通知不适用于 Windows 秋季创作者更新

c# - Selenium - 关闭带有确认警报的窗口。 C#

c# - 加密 app.config 后无法识别的属性 'configProtectionProvider'

c++ - OpenCV:System.Runtime.InteropServices.SEHException

c# - 为什么 Type 类不在 System.Reflection 命名空间中?

c# - NServiceBus Ninject 在使用 ToMethod 时找不到 NinjectObjectBuilder 范围

asp.net-mvc-3 - 带有 Ninject 和 EntityFramework 的 ASP.NET MVC 3 中的 ChildAction

ninject - 在集成测试中使用 IMapper