public void MethodAutoInjector_Inject_Test() { // arrange Mock <IDependencyHolder> mockDependencyHolder = new Mock <IDependencyHolder>(); mockDependencyHolder.Setup(dh => dh.GetInstance(null)).Returns(new bar()); Mock <IDependencyMap> mockDependencyMap = new Mock <IDependencyMap>(); mockDependencyMap.Setup(dm => dm.PrimaryDependencyHolder).Returns(mockDependencyHolder.Object); Mock <IDIContainer> mockContainer = new Mock <IDIContainer>(); mockContainer.Setup(c => c.ContainsDependency(It.IsAny <string>())).Returns(true); mockContainer.Setup(c => c.GetDependencyMap(It.IsAny <string>())).Returns(mockDependencyMap.Object); Mock <MethodAutoInjector> mockMethodAutoInjector = new Mock <MethodAutoInjector>(mockContainer.Object, typeof(foo)) { CallBase = true }; mockMethodAutoInjector.Setup(pa => pa.GetParamInjectDependency(It.IsAny <ParameterInfo>())).Returns((string)null); foo afoo = new foo(); //act mockMethodAutoInjector.Object.Inject(afoo); //assert Assert.IsNotNull(afoo.Get_pbar()); }