我使用Jasmine作为单元测试框架,我想知道如何正确安装vue。是否有一个函数,一个来自VueJS的API,一个知道视图状态的收据?
实际上......单元测试正在通过,但在控制台(终端或浏览器下)我收到以下错误:错误日志:' [Vue警告]:挂钩错误:(在xxxx中找到) - ReferenceError:$未定义'
然后我希望我的单元测试在这种错误上失败而不是传递......?
以下是代码的快照:
describe("location component tests suite", () => {
const getComponent = (data) => {
let vm = new Vue({
template : "<div>"
+ "<location"
+ " :data='data'"
+ " label='pick'"
+ " placeholder='placeholder'"
+ " required>"
+ "</location></div>",
data: {
data
}
});
return vm;
};
it("Validate mount", () => {
const data= { 'data' : { 'value' : 'VUE'} };
const vm = getComponent(data).$mount();
expect(vm.$el.querySelector('div.location-wrapper').getAttribute('class')).toBe('location-wrapper');
expect(vm.$el.querySelector('input').getAttribute('name')).toBe('pick');
});
});
谢谢!
答案 0 :(得分:1)
您可能希望使用自v2.2.0
以来引入的Vue.config.errorHandler
API。
您可以将变量声明为错误抛出标记(即errorThrown
)。
let errorThrown = false;
定义errorHandler函数,以便errorThrown
在被触发时切换为true
。
Vue.config.errorHandler = function (err, vm, info) {
console.log(info);
if(info.includes('mounted')) {
errorThrown = true;
}
};
使用茉莉花中的errorThrown
API检查expect
。
expect(errorThrown).toBe(false); // Test will fail here
检查工作演示here 这样,安装方法中发生的错误将被捕获并强制单元测试失败。