我们在SAPUI5应用程序代码中使用如下代码创建一个MockServer实例:this.oVocabularyMockServer=newMockServer({rootUri:"/sap/opu/odata/SAP/vocabulary_srv/"});这个MockServer来自命名空间sap.ui.core.util,它只能用来模拟对支持ODataV2REST协议的远程服务器的http请求。MockServer用于在实际项目中创建模拟服务器。这有助于模拟全部或部分后端调用,例如ODataV2/JSON模型或简单的XHR调用,而无需更改应用程序代码。这个类也可以用于qunit测试。它的构造函数接受一个对象文字mSettings,它定义了初始属性值、聚合和关联对象以及事件处理程序。在上面的代码中,我在构造函数中指定了一个字段roo??tUri.rootUri。该字段的值必须是相对的,以/结尾。它还需要匹配OData/JSON模型中的URI集或简单的XHR调用,以便模拟服务器拦截它们。默认值未定义。下图中第18行代码的模拟方法:通过为mockdata指定metadataURL和baseURL来模拟已有的OData服务。服务器根据服务元数据配置请求处理程序。对于每个实体类型(entitytype),mockdata都需要单独存储在一个单独的JSON文件中。JSON文件的名称需要与实体类型的名称相匹配。如果没有为mockdata指定基本url,那么mockdata.simulate方法将从接收两个参数的元数据生成:sMetadataString类型的字符串:服务元数据文档的URL或作为xml字符串本身的元数据文档的内容。sMockdataBaseUrl:Baseurl,包含mockdata作为单个.json文件或包含完整mock数据的.json文件MockServer继承自sap.ui.base.ManagedObject,作为基类引入一些基本概念,比如state管理和数据绑定。通过调用ManagedObject创建ManagedObject的新子类。
