Vue.js和Jest-Element UI如何以编程方式确认MessageBox



我目前正在用Jest创建测试,我想知道如何用程序确认ElementUI的MessageBox,因为我似乎无法获得它的HTML DOM。这样它就可以在then()中执行我的graphql查询。我真的不知道这是不是一个好的练习,因为我是新来的。

confirmBox(
this,
'warning',
'Delete Record',
'Do you really want to delete this record?',
true
).then(() => {
this.loading = true
deleteGame(id, (response, success) => {
if (success) {
this.$message({
message: 'Record successfully deleted',
type: 'success'
})
this.get()
} else {
this.$message({
message: response,
dangerouslyUseHTMLString: true,
type: 'error'
})
this.loading = false
}
})
})

Element ui对所有组件都进行了单元测试,但它们是用因果报应编写的。

他们似乎触发了Ok按钮如下:

it('confirm', done => {
MessageBox.confirm('This is a piece of content', {
title: 'Title name',
type: 'warning'
});
setTimeout(() => {
document.querySelector('.el-message-box__wrapper')
.querySelector('.el-button--primary').click();
expect(document.querySelector('.el-message-box__wrapper')
.__vue__.$parent.visible).to.false;
done();
}, 200);
});

完整来源:https://github.com/ElemeFE/element/blob/dev/test/unit/specs/message-box.spec.js

最新更新