gpt4 book ai didi

ninject - 如何使用 Ninject 的 MockingKernel (moq) 设置模拟

转载 作者:行者123 更新时间:2023-12-04 01:57:21 24 4
gpt4 key购买 nike

我很难弄清楚我该怎么做.SetupXXX()调用底层证券Mock<T>已在 MockingKernel 中生成.任何人都可以阐明它应该如何工作?

最佳答案

您需要调用GetMock<T> MoqMockingKernel 上的方法这将返回生成的 Mock<T>您可以调用您的.SetupXXX()/VerifyXXX()方法。

这是一个演示 GetMock<T> 的示例单元测试。用法:

[Test]
public void Test()
{
var mockingKernel = new MoqMockingKernel();
var serviceMock = mockingKernel.GetMock<IService>();
serviceMock.Setup(m => m.GetGreetings()).Returns("World");
var sut = mockingKernel.Get<MyClass>();
Assert.AreEqual("Hello World", sut.SayHello());
}

其中涉及的类型如下:

public interface IService { string GetGreetings(); }

public class MyClass
{
private readonly IService service;

public MyClass(IService service) { this.service = service; }

public string SayHello()
{
return string.Format("Hello {0}", service.GetGreetings());
}
}

请注意,您可以访问生成的 Moq.MockRepository (如果您更喜欢 SetupXXX 方法)使用 MoqMockingKernel.MockRepository属性(property)。

关于ninject - 如何使用 Ninject 的 MockingKernel (moq) 设置模拟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13212655/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com