我有一个带有以下的模板
<button type="button" id="alogin" class="btn btn-primary btn-raised btn-block btn-lg" @click="login()">Sign In</button>
登录功能很长,但由组成
login() {
this.error = 'none';
this.error_message = null;
const self = this;
authentication.login(config, self.id_number, self.password, (err, result) => {
if (err) {
} else {
self.startSession();
}
});
}
我试着像设置后一样点击登录按钮进行测试
it('tries to login', () => {
LoginComponent.id_number = '293io090';
LoginComponent.password = 'password';
expect(LoginComponent.$el.querySelector('#alogin').click()).to.equal(true);
但最终会变得不明确。我使用vuejs测试utils来查找('#alogin'(,但结果仍然相同。陷入
如果您使用vue-test-utils
中的mount
或shallowMount
,那么您应该知道这些函数为您的组件返回Wrapper
,而find
方法也返回包装器。因此,您可以调用这样的点击处理程序:
LoginComponent.find('#alogin').trigger('click')