Модульное тестирование локации Angular 6 назад - PullRequest
0 голосов
/ 27 ноября 2018

Мне нужно простое юнит-тестирование местоположения. Вернуться назад.

main.ts

import { Component, OnInit } from '@angular/core';
import { Location } from '@angular/common';

@Component({
  selector: 'app-product-information',
  templateUrl: './product-information.component.html',
  styleUrls: ['./product-information.component.scss']
})
export class ProductInformationComponent implements OnInit {

  constructor(
    private location: Location
  ) { }

  ngOnInit() {
  }

  close(): void {
    this.location.back();
  }
}

Пробовал в main.spec.ts

  beforeEach(() => {
    fixture = TestBed.createComponent(ProductInformationComponent);
    component = fixture.componentInstance;
    de = fixture.debugElement;
    loc = jasmine.createSpyObj('Location', ['back']);
    fixture.detectChanges();
  });

  it('should create', () => {
    expect(component).toBeTruthy();
  });

  it('should clicked back', () => {
    el = fixture.debugElement.query(By.css('.btn-cancel')).nativeElement.click();
    expect(loc.back).toHaveBeenCalledTimes(1);
  });

Это не сработало, я получил ошибку

Ожидаемый шпион Location.back был вызван один раз.Он был вызван 0 раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...