我想对Vuex商店内的动作进行单元测试。我遇到的障碍是在我的动作中嘲笑我的axios请求。我正在使用Mocha / Chai / Sinon堆栈进行单元测试。
我的Vuex商店的摘要:
import Vue from 'vue';
import axios from 'axios';
// .... state, getters, mutations etc ....
async viewOne(context, metadataId) {
if (typeof metadataId !== 'number') {
throw Error('viewOne expects a numeric ID');
}
const url = 'mysupersecreturl';
const timeout = 30000;
const response = await axios.get(url, {
headers: {
'Content-Type': 'application/x-www-form-urlencoded'
},
mode: 'cors',
responseType: 'JSON',
timeout: timeout
});
switch (response.status) {
case 200: {
const metadata = response.data;
return metadata;
}
default: {
throw Error('Error ' + response.status + ': ' + response.statusText);
}
}
},
我知道如何对Vuex进行单元测试,针对吸气剂和突变进行了测试,但是卡住的是如何模拟在Vuex中使用的axios库。 任何建议,不胜感激,在此先感谢!