gpt4 book ai didi

c# - 如何针对不同版本的外部 dll api 对我的项目进行单元测试?

转载 作者:太空狗 更新时间:2023-10-30 00:36:06 26 4
gpt4 key购买 nike

我正在开发一个严重依赖外部 dll 的应用程序,我的应用程序需要支持新版本的 dll 并向后兼容旧版本。

有什么好的方法可以让我的单元测试针对所有这些不同的 dll 版本,而无需在新版本的 api 发布后立即重写测试?如何最好地处理这个问题?

谢谢!

最佳答案

编写包装外部 DLL 的适配器或门面。让它实现一个 IExternalDLL 接口(interface)(当然选择一个更好的名字),它从外部 DLL 文件/指定你的需求;它不必完全模仿实际实现的函数签名。

针对界面编写一组“契约(Contract)测试”,按照您期望界面的工作方式。

现在您可以为每个新版本编写不同的适配器 - 以防从 v1 到 v2 发生一些重大更改。您的客户端由于接口(interface)而被抽象化。适配器/外观的工作是确保 dll 的相应版本满足契约(Contract)测试。您编写一组测试并使用适配器/外观的所有实现对其进行练习。下次推出新版本时 - 您可以

  • 如果满足您的需要,请使用最后一个适配器/外观
  • 推出一个新的来修复任何重大变化;确保针对契约(Contract)测试运行它,这样您的客户就不会破坏此适配器。

关于c# - 如何针对不同版本的外部 dll api 对我的项目进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2832228/

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