我有一个C#api。现在我还需要一个Java实现。并保持这两个api。
为了确保两种实现方式不会随时间发生分歧,我希望在它们之间共享相同的测试(不一定是单元测试,但至少是端到端测试)。
到目前为止,我可以想到两种不同的方法:
- 将两个实现放在rest api后面,然后测试一下
API。优点是我可以对两者进行完全相同的测试
实现。缺点是放入它有点沉重
地点。
- 使用行为驱动开发测试(Cucumber for Java,SpecFlow for C#),并使用相同的功能文件
对于不同的实现。缺点是我必须这样做
提供每种语言的步骤实现,所以有
测试实际上以微妙的方式存在差异的风险。
如果有任何想法以更令人满意的方式处理它,我将不胜感激。