gpt4 book ai didi

api - 不同语言的相同测试

转载 作者:行者123 更新时间:2023-11-28 21:28:17 25 4
gpt4 key购买 nike

我有一个 C# api。现在我还需要它的 Java 实现。然后维护这两个 api。

为确保这两个实现不会随着时间的推移而出现分歧,我想在它们之间共享相同的测试(不一定是单元测试,但至少是端到端测试)。

到目前为止,我可以想到两种不同的方法:

  • 将这两个实现放在一个 rest api 后面,并通过它进行测试接口(interface)。优点是我可以对两者进行完全相同的测试实现。缺点是装起来有点重地方。
  • 使用行为驱动开发测试(Java 的 Cucumber、C# 的 SpecFlow),并使用相同的功能文件对于不同的实现。缺点是我必须为每种语言提供步骤的实现,所以有测试实际上存在细微差别的风险。

如果有任何想法以更令人满意的方式处理它,我将不胜感激。

最佳答案

恕我直言Facade对于这两个 API 是更好的选择。它将允许您在单元测试(集成、系统、E2E、UAT)之上重用相同的测试套件。

The drawback is that it’s a bit heavy to put in place.

我怀疑拥有双重 BDD 框架是否会省力。您的语言绑定(bind)必须不同(例如 *.feature.cs.feature.java 文件)。您必须安装的单元测试框架(NUnit、MSTest、JUnit、TestNG 等)将需要一个单独的 CI。服务器处理。

与此同时,所有测试只用一个实现会更加可行。不强制使用与 SUT 相同的语言进行测试的一个。无论使用何种语言,所有测试都将同步满足这两种 API 要求。

关于api - 不同语言的相同测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33075772/

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