我在example from the wiki之后使用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>();
}
}
}
我在这里做错了什么?它有GetHashCode()
,GetMock()
,GetModules()
和GetType()
,但没有Get()
。
答案 0 :(得分:7)
终于明白了。 Get()
是一种存在于Ninject.ResolutionExtensions
类中的扩展方法。添加using Ninject;
解决了这个问题。这些示例都没有显示您需要使用哪些名称空间令人沮丧。