Moq与构造函数参数

时间:2011-10-05 16:57:40

标签: 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。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

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