C# 为什么MoqMockingKernel中缺少Get方法?
我在后面使用C# 为什么MoqMockingKernel中缺少Get方法?,c#,ninject,moq,C#,Ninject,Moq,我在后面使用MoqMockingKernel,但是缺少Get()方法。我的简化代码: using Moq; using Ninject.MockingKernel.Moq; namespace Store.Web.Tests.Controllers { [TestClass] public class PeopleControllerTests { private MoqMockingKernel _mockingKernel;
MoqMockingKernel
,但是缺少Get()
方法。我的简化代码:
using Moq;
using Ninject.MockingKernel.Moq;
namespace Store.Web.Tests.Controllers
{
[TestClass]
public class PeopleControllerTests
{
private MoqMockingKernel _mockingKernel;
[TestInitialize]
public void SetUp()
{
_mockingKernel = new MoqMockingKernel();
}
[TestMethod]
public void AddAnotherPersonAddsAnotherPerson()
{
// There is no Get method on _mockingKernel
var peopleController = _mockingKernel.Get<PeopleController>();
}
}
}
使用Moq;
使用Ninject.MockingKernel.Moq;
命名空间Store.Web.Tests.Controllers
{
[测试类]
公共类人员控制员测试
{
私有MoqMockingKernel\u mockingKernel;
[测试初始化]
公共作废设置()
{
_mockingKernel=新的MoqMockingKernel();
}
[测试方法]
public void addanotherpersonaddanotherpersond()
{
//_mockingKernel上没有Get方法
var peopleController=_mockingKernel.Get();
}
}
}
我做错了什么?它有
GetHashCode()
,GetMock()
,GetModules()
,和GetType()
,但没有Get()
,最终找到了答案Get()
是存在于Ninject.ResolutionExtensions
类中的扩展方法。使用Ninject添加代码>解决了问题。没有一个示例显示您需要使用哪些名称空间,这令人沮丧。谢谢。Net代码示例被“猜测扩展方法放在哪个随机名称空间”所困扰。非常感谢,为我节省了几分钟:)