如何从sapui5

时间:2017-09-07 13:34:45

标签: unit-testing sapui5 qunit

我在我的ui5应用程序中有这个表(m.Table),我使用以下示例进行排序。 https://sapui5.hana.ondemand.com/1.42.7/explored.html#/sample/sap.m.sample.TableViewSettingsDialog/preview

我有一套单元测试(QUnit),我在这里测试了这个功能,但是我一直收到一个错误,说“"对象不支持方法排序"。

这是我的代码片段

var oBinding = controls.searchResultsTable.getBinding("items");
var aSorter = [];
var sPath = "columnName";

aSorter.push(new Sorter(sPath, false));//sort in descending order 
oBinding.sort(aSorter);

上面的代码在应用程序运行时负责排序,一切正常。

以下是我的测试片段

QUnit.test("valid search input", function(assert){
   ....
   //my attempt at testing this
   var getBinding = sinon.stub().returns(new sap.ui.model.Binding(), 
                         function(){}); 
 }

 var oBinding = {getBinding: getBinding};
  ....

错误指向我执行aBinding.sort(aSorter)的行; 看看api,sap.ui.model.Binding没有任何" sort()"功能。所以我不确定排序是如何工作的,更不用说测试了。有人可以给我一些指导吗?

1 个答案:

答案 0 :(得分:0)

因为sortsap.ui.model.ListBinding上完成,因为您正在对表项进行绑定。 Link

还有不同的其他绑定扩展sap.ui.model.Binding,如sap.ui.model.PropertyBinding(绑定在单个UI控件上),sap.ui.model.TreeBinding(绑定在Tree控件上)等等。