2017-11-14 28 views
0

正常にテストすることができませんが、名前空間のgetterをテストするのが難しいです。vuejs名前空間getters定義されていないエラー

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" 

答えて

0

エラーはかなり誤解を招くものでした。私はついにそれを偽造品でスタブすることができました。上記のようにリファクタリングした後。

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

getContextMenuListSelectedStateSpy = sinon.stub(omsLayout.methods, 'getContextMenuListSelectedState').callsFake(fakeGetter) 
関連する問題