【问题标题】:Unit Test WCF using ChannelFactory使用 ChannelFactory 对 WCF 进行单元测试
【发布时间】:2013-01-29 10:04:34
【问题描述】:

我正在开发一些 WCF 服务,它们将被部署到 Azure,所以我想尝试在本地完成尽可能多的单元测试,以避免在我们运行集成时到暂存区域的无用往返测试。 这些服务使用 CQRS 模式,我按以下方式对所有内容进行了分层: - 将依赖项注入 WCF 服务的引导程序 - 每种服务方法的命令 - 拦截命令的命令处理程序 到目前为止,我可以对命令、处理程序和引导程序进行完全单元测试。我还需要写的是这种类型的测试:

[TestMethod]
public void Client_ReceiveValidCommand_WillExecute()
{
    var factory = new ChannelFactory<IDomainWriteService>("*");
    var service = factory.CreateChannel();
    var expectedCommand = BuildAddUsersCommand();
    service.AddUsers(expectedCommand);
}

问题在于该测试假装配置文件中的有效端点。 有什么方法可以在我的测试适应性开始时启动 IIS express 之类的东西,然后将通道工厂插入这个 IIS 实例? 我根本无法创建可以部署服务和运行集成测试的暂存区域,因此我更愿意尽可能遵循单元测试方式。

【问题讨论】:

    标签: wcf channelfactory


    【解决方案1】:

    我在这里找到了一篇有趣的文章:http://www.reimers.dk/jacob-reimers-blog/testing-your-web-application-with-iis-express-and-unit-tests,它解释了如何在 IIS express 中托管您的测试,当然还有在您的单元测试中运行 IIS express。 通过这种方式,我可以简单地创建一个新的 IIS express 实例并托管我的 WCF 服务,运行单元测试并最终销毁所有内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-05-31
      • 1970-01-01
      • 1970-01-01
      • 2010-09-07
      • 2012-10-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多