Unit testing 如何对sapui5中的表进行单元测试排序

Unit testing 如何对sapui5中的表进行单元测试排序,unit-testing,sapui5,qunit,Unit Testing,Sapui5,Qunit,我在ui5应用程序中有一个表(m.table),我正在使用下面的示例对它进行排序。 我有一套单元测试(QUnit),在这里我测试了这个功能,但我一直收到一个错误,说“对象不支持方法排序” 这是我的代码片段 var oBinding = controls.searchResultsTable.getBinding("items"); var aSorter = []; var sPath = "columnName"; aSorter.push(new Sorter(sPath, false)

我在ui5应用程序中有一个表(m.table),我正在使用下面的示例对它进行排序。

我有一套单元测试(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};
  ....
错误指向执行bind.sort(aSorter)的行;
查看api,sap.ui.model.Binding没有任何“sort()”函数。所以我甚至不确定排序是如何工作的,更不用说测试了。有人能在这里给我一些指导吗?

因为
排序是在
sap.ui.model.ListBinding
上完成的,就像您在对表项进行绑定一样


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

因为
sort
是在
sap.ui.model.ListBinding
上完成的,就像您在对表项进行绑定一样

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