【问题标题】:Unit Testing for Third Party APIs第三方 API 的单元测试
【发布时间】:2016-12-16 18:13:05
【问题描述】:

我们使用第 3 方 API,并且我们构建了在供应商环境中运行的 dll。我们如何测试这些 dll。 API 接口非常深,一个 dll 引用另一个,另一个等等,我们使用了大量的这些接口对象。这些基本上不能在所有外部供应商环境中运行

这是否真的非常不可测试,或者任何人都有在 C# 环境中模拟类似供应商接口的经验。

【问题讨论】:

  • 在这种情况下,最好在供应商代码和特定领域代码之间创建抽象级别。然后,您可以模拟该级别并测试特定于域的代码。

标签: c# api unit-testing mocking


【解决方案1】:

我建议尽可能将它们包装在简化的外观中,并模拟从外观创建的接口。不过,这取决于具体情况,这可能非常困难。

【讨论】:

    【解决方案2】:

    我会考虑两种方式:

    1. 从特定服务中抽象出来,并在您的逻辑和服务客户​​端之间实现另一层。然后模拟该层并通过测试覆盖您的代码。它可能相当复杂。
    2. 如果第 3 方 API 客户端使用接口或抽象类交付(并且您的代码不使用特定实现),您可以为客户端创建一个工厂,该工厂将返回其接口并模拟该工厂。它可以让您避免引入备用层。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-23
      • 2012-11-09
      • 1970-01-01
      • 2010-10-06
      • 1970-01-01
      相关资源
      最近更新 更多