我们有一个服务器,它公开了一组 REST API。这些 API 旨在为不同平台上的客户端公开,因此我们希望以 Java 和 .NET 提供 SDK
SDK 使用类似的接口定义(我们不断在两种语言中重复接口声明)。在 Java SDK 之上构建的应用程序可以作为 Tomcat 容器中的 servlet 运行,而在 .NET SDK 之上构建的应用程序可以作为 IIS 应用程序运行。维护多语言版本的 SDK 以确保它们都能正常工作是一个相当大的挑战。所有的测试工作都加倍了。
我们正在考虑分别在两个 SDK 上编写 2 个“调试器”应用程序。然后应用程序可以加载用 Python 实现的“命令脚本”。2 'debugger' 应用程序提供了非常薄的 API 包装器,使它们可以从 Python 访问。所以我们可以使用一段 Python 代码来测试两个 SDK。
详细地:
- 实现 Java“调试器”应用程序,并公开其低级 API 以可从 Jython 代码访问
- 实现 .NET“调试器”应用程序,并公开其低级 API 以供 IronPython 代码访问。
- 来自 Java 和 .NET“调试器”的 API 应该兼容
- 使用通用 API 在 Python 中实现所有测试用例。
- 当 Java/.NET 应用程序运行时,它们会加载这些 Python 脚本并执行它们以确保功能正常工作。
所以我的问题是
- 这是解决此类问题的可行方法吗?
- 有没有解决类似问题的例子?
- 有没有我可以利用的框架/库?
提前感谢您的任何意见/建议!