Angular 5单元测试路由器导航

时间:2018-06-06 07:45:57

标签: angular unit-testing typescript testing jasmine

我想测试这个功能。当返回true时,我想在此路由器中导航。

我的组件代码:

  onLogin() {
    this.loading = true;
    this.auth.login(
      this.loginForm.controls['username'].value,
      this.loginForm.controls['password'].value)
      .subscribe(
      result => {
        if (result === true) {
          this.router.navigate(['/home']);
        } else {
          this.loading = false;
        }
      }
      );
  }

我尝试过这个测试,结果是真的

  it('should call service.login when onLogin', done => {
    const mock = [];
    spyOn(component['auth'], 'login').and.callThrough()
    component['auth'].login('abcs', '1').subscribe(
      result => {
        if (result === true) {
        }
        console.log(result)
          done();
      });
    component.onLogin();
  })

0 个答案:

没有答案