2017-11-14 3 views
0

Ich habe Probleme beim Testen namespaced getters obwohl es funktioniert Ich bin nicht in der Lage, es erfolgreich zu testen.vuejs Namespace getters undefined Fehler

getContextMenuListSelectedState: function (menu) { 
    return this.$store.getters['appContext/getContextMenuListSelectedState'](menu) 
} 

<view-switcher @switchView="setCurrentView" /> 

setCurrentView: function (obj) { 
... 
let maintSelected = this.getContextMenuListSelectedState('docsmaint').label === 'maint' 
... 
} 

is throwing an error in test: 
'[Vue warn]: Error in event handler for "switchView": "TypeError: this.$store.getters**.appContext/getContextMenuListSelectedState** is not a function" 

Antwort

0

Der Fehler war ziemlich irreführend. Endlich konnte ich es mit einer Fälschung überlisten. Nach dem Refactoring wie oben beschrieben.

function fakeGetter (menu) { 
     return store.state.appContext.contextMenusLists[menu].filter((item) => { 
     return item.selected 
     }) 
    } 

getContextMenuListSelectedStateSpy = sinon.stub(omsLayout.methods, 'getContextMenuListSelectedState').callsFake(fakeGetter)