Я использую Jasmine & Karma для модульного тестирования углового приложения.Я написал модульные тесты, подобные этому:
describe('#getAll', async () => {
it('#should return user intergration_tester', inject([UsersService], async(service: UsersService) => {
await service.getAll('integration_tester', access_token).subscribe(
user => {
expect(user[0].firstName).toContain('Integration');
done();
})
}));
it('#should return error 404', inject([UsersService], (service: UsersService) => {
service.getAll('integration_tester', '').subscribe(
user => {expect(user[0].firstName).not.toContain('Integration');},
err => { expect(err).toContain('error');}
)
}));
})
Когда я выполняю тестовые случаи, я вижу сообщение SPEC, НЕ ИМЕЮЩЕГО ОЖИДАНИЯ для обоих тестовых случаев.Мне интересно, почему он показывает, что spec не имеет ожиданий.
Затем я следовал предложенным решениям в этом посте: Spec не имеет ожиданий - Жасмин тестирует функцию обратного вызова
Использованиеdone()
:
describe('#getAll', async () => {
it('#should return user intergration_tester', inject([UsersService], async(service: UsersService, done) => {
await service.getAll('integration_tester', access_token).subscribe(
user => {
expect(user[0].firstName).toContain('Integration');
done();
})
}));
it('#should return error 404', inject([UsersService], (service: UsersService, done) => {
service.getAll('integration_tester', '').subscribe(
user => {expect(user[0].firstName).not.toContain('Integration'); done();},
err => { expect(err).toContain('error'); done();}
)
}));
})
И снова Жасмин говорит мне, что spec has no expectations