SAPUI5 Mockserver总是生成相同的随机ID

问题描述 投票:1回答:1

我有一个UI5应用程序,可以使用UI5标准内置模拟服务器运行它进行测试。

我的oData元数据中的所有集合都具有整数类型的ID! (在真实网关服务器中自动递增)

[有趣的部分是,当我创建集合的新对象时,它将把9分配为第一次创建的对象的ID,而第二个创建的对象将是416,依此类推。

清楚的是,内置模拟服务器使用不带或带有静态种子的随机生成算法。这就是为什么它将为我的元数据模型中的每个集合始终生成相同的ID链的原因。

现在我的问题是如何更改UI5模拟服务器的这种行为?

换句话说,如何将随机数设置为模拟服务器的种子,或者如何强制其对ID使用增量行为。

UI5的默认行为问题是生成9, 416, 6671, 2631, ...作为ID,当其中一组已经具有ID为9的项时!然后,通过创建一个新项目,我的列表中将有两个具有相同ID(即9)的项目!

sapui5 sap-web-ide mockserver
1个回答
0
投票

看着UI5模拟服务器的source code,似乎没有一个随机的公共设定值。

但是,您仍然可以在MockServer实例上为Ints(或任何其他类型)设置种子:

oMockServer._oRandomSeed = {"Int":69190}

如果要模拟顺序ID的生成,则可以在模拟服务器完成请求处理后使用MockServer#attachAfter()更改生成的值。

© www.soinside.com 2019 - 2024. All rights reserved.