как избежать вызовов api по методу ‘should create’ по умолчанию

#angular #unit-testing #jasmine

#angular #модульное тестирование #jasmine

Вопрос:

ng-cli генерирует для меня некоторые тесты по умолчанию, когда я создаю компонент с помощью angular cli. Но эти тесты периодически завершаются неудачей на моем jenkins.

Вот еще несколько деталей:

example.component.ts

 ngOnit(){
   this.get1stData();
   this.get2ndData();
}

get1stData(){
  this.service.get1stData().subscribe()....
}

get2ndData(){
 this.service.get2ndData().subscribe()....
}
  

example.component.spec.ts

   beforeEach(() => {
    fixture = TestBed.createComponent(NamespaceHomeComponent);
    component = fixture.componentInstance;
    service = TestBed.get(service);
    fixture.detectChanges();
  });
  it('should create', () => {
    expect(component).toBeTruthy();
  });
  

Эти простые тесты завершились неудачей, если возникла какая-то проблема с api. Как я могу избежать вызова api здесь.

Я получаю эту ошибку:

   {
    "message": "An error was thrown in afterAllnUncaught [object Object] thrown",
    "str": "An error was thrown in afterAllnUncaught [object Object] thrown"
  }
  

Комментарии:

1. Издеваться над вашими зависимостями? Это уже должно быть сделано в ваших тестах…

2. извините, но я новичок в этом модульном тестировании… не уверен, как я могу издеваться над этим … я только что добавил метод beforeEach для модульного тестирования

3. Что ж, у вас есть очень подробная документация , вам следует начать читать ее, прежде чем пытаться тестировать самостоятельно!

4. Приведенный выше тест не должен завершиться неудачей. Если это произойдет, это либо приведет к сбою, потому что вы не определили свои зависимости, чтобы их нельзя было внедрить и / или это приведет к сбою, потому что у вас есть бизнес-логика в конструкторе вашего компонента, например, вызов метода service.