#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.