gpt4 book ai didi

c# - 如何在 WCF 服务中模拟数据层?

转载 作者:行者123 更新时间:2023-11-30 22:33:03 25 4
gpt4 key购买 nike

我有一个 WCF 服务,它在 Windows 服务下使用 wshttpbinding 托管。

public interface ICalculator
{
public IDataLayer DataLayer {get;set;}

public List<string> GetResult()
{
return DataLayer.Calculate();
}

我在我的测试类库中托管了服务并添加了服务引用。我想模拟数据层,以便验证是否调用了 Calculate 方法。如何模拟 DataLayer 引用?

WCF 的测试策略是什么?我应该先托管服务并执行测试,还是应该先测试服务 DLL,然后托管它?

我正在使用最小起订量和 NUnit。

谢谢

最佳答案

要获得预设回复:

var mock = new Mock<IDataLayer>();
mock.Setup(d => d.Calculate()).Returns("what ever value you want to return");

为了确保它被调用:

mock.Verify(d=> d.Calculate());

您需要首先对 WCF 类本身进行单元测试以验证行为。实际上托管服务并使用代理客户端是一个集成测试。

因此,为服务(我猜是计算器)创建一个 NUnit TestFixture。在 NUnit 中将其视为普通类,并执行所有测试,模拟 DataLayer 以获取预制结果,并在您期望它被调用时断言它是否被调用。

关于c# - 如何在 WCF 服务中模拟数据层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8491464/

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