我可以模拟具有自定义属性的系统吗?

Flo*_*ian 3 sap-cloud-sdk

我们正在使用目的地服务来配置到不同类型系统的连接。作为其中的一部分,我们使用“附加属性”部分来添加非标准属性,例如my.custom.property=123.

我们已经成功地使用 SAP Cloud SDKMockUtil编写了使用这些文件systems.ymlcredentials.yml作为测试系统源的Spring 集成测试。

但是,我们找不到在那里创建条目的方法,该条目将提供具有自定义属性的测试系统,例如my.custom.property=123.

erp部分仅接受 ERP 系统已知的属性,例如sapClient. 通用systems部分只接受绝对的基本属性名称、类型、uri 和代理。在任一部分添加未知属性都会导致运行时错误,因为模拟工具无法将未知属性解析为具有固定结构的数据类。

是否有另一种方法来模拟 Destination 允许我们包含非标准属性?

例如,DestinationAccessorMocker看起来很有希望,因为它似乎可以设置Destination接口的自定义实现,但我们无法弄清楚如何使用它。

Flo*_*ian 6

找到了一个有效的选项。

MockUtil mockUtil = new MockUtil();
MockDestination destination = MockDestination
  .builder("my-service", URI.create("http://localhost:1234/"))
  .property("my.custom.property", "123")
  .build();
mockUtil.mockDestination(destination);
Run Code Online (Sandbox Code Playgroud)

也许有人可以确认这是一种有意的方式来做到这一点?

  • 是的,你说得对,这也是我推荐的方法。所以我认为你可以将你的答案标记为正确:) (2认同)