如何用Karma Jasmine测试login.service函数

时间:2017-07-01 08:30:09

标签: angular jasmine karma-jasmine

我试图测试,例如在Angular2中的Jasmine函数登录,但我不知道我该怎么做?这有助于我更好地理解它。

我试过了:

import { TestBed, async } from '@angular/core/testing';
import { LoginService } from './login.service';
import { LoginComponent } from '../app/components/login/login.component';

beforeEach(() => {
    TestBed.configureTestingModule({
        declarations: [LoginComponent],
        providers: [LoginService],
    });

    let fixture = TestBed.createComponent(LoginComponent);
    let comp = fixture.componentInstance;

    // TwainService actually injected into the component
    let loginService = fixture.debugElement.injector.get(LoginService);

    // Setup spy on the `getQuote` method
    let spy = spyOn(loginService, 'login')
        .and.returnValue('true');

});
  

login.component.ts

login() {

          this.loading = true;
          this.loginService.login(this.model.username, this.model.password)
              .subscribe(result => {
                  console.log(result);
                  if (result == true) {

                      this.router.navigate(['/start']);

                  } else {
                    this.error = 'Wrong password';
                    this.errorStatus = true;
                    setTimeout(() => {
                      this.errorStatus = false;
                    }, 1500);

                      this.loading = false;
                  }
              });
      }

0 个答案:

没有答案