0
私は、私は機能onMultiSelectPress
のためのユニットテストを書くことqunit + sinon.jsに新たたいので、私はモックする必要があります:ui5でビューモデルをスタブする方法は?
this.myController._oList
this.myController.getResourceBundle()
this.myController.getModel("masterView")
右?
私は、getModel("masterView")
のスタブを手に入れませんでした。
onInit : function() {
var oList = this.byId("list"),
oViewModel = this._createViewModel();
this._oList = oList;
this.setModel(oViewModel, "masterView");
},
_createViewModel : function() {
return new JSONModel({
isFilterBarVisible: false,
filterBarLabel: "",
delay: 0,
title: this.getResourceBundle().getText("masterTitleCount", [0]),
noDataText: this.getResourceBundle().getText("masterListNoDataText"),
sortBy: "Name",
groupBy: "None",
listMode: "SingleSelectMaster",
showDeleteButton: false
});
},
getModel : function (sName) {
return this.getView().getModel(sName);
},
onMultiSelectPress : function() {
var oMasterViewModel = this.getModel("masterView");
switch(this._oList.getMode()) {
case "MultiSelect":
oMasterViewModel.setProperty("/listMode", "SingleSelectMaster");
oMasterViewModel.setProperty("/showDeleteButton", false);
break;
case "SingleSelectMaster":
oMasterViewModel.setProperty("/listMode", "MultiSelect");
oMasterViewModel.setProperty("/showDeleteButton", true);
break;
}
},
unit test onInitメソッドはどのようにすることができますか?メソッドの存在をテストできますが、内部でJSONをテストすることはできません。 'のOnInit:関数のOnInit(){ フォーマットのテキストコントロールにバインドされた// HTML文字列 VAR oModel =新しいJSONModel({ タイトル: 'こんにちは'、 メッセージ: '
あなた
' + 受け入れる:「私を「受け入れる」、 拒否: '私は拒否する' }); this.getView()。setModel(oModel); }、 ' – user557657'assert.ok(this.getView()。getModel(oModel))'? @ user557657 – Tina
ユニットテストで 'this'リファレンスを取得できません。 – user557657