0

我有一个包含以下内容的模板

            <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 测试工具来查找('#allogin'),但结果仍然相同。卡住

4

1 回答 1

0

如果您正在使用mountshallowMount从,vue-test-utils那么您应该知道这些函数Wrapper为您的组件返回,并且find方法也返回包装器。所以你可以像这样调用点击处理程序:

LoginComponent.find('#alogin').trigger('click')
于 2018-07-27T23:40:16.443 回答