Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
describe('discoveryService => initDiscoveries',()=> {});тоже плохой пример. Зачем в описании теста название тестируемого сервиса и метода?
describe('when initializing discoveries',()=> {
beforeEach(
// Setup success request mock
)
it('should clear existent discoveries', () => {
discoveryService.initDiscoveries();
expect(...).to...;
});
it('should load new discoveries', () => {
discoveryService.initDiscoveries();
expect(...).to...;
});
});describe('when initializing discoveries failed',()=> {
beforeEach(
// Setup failed request mock
)
it('should show error message', () => {
discoveryService.initDiscoveries();
expect(toastr.error)
.toHaveBeenCalledWith('Failed to initialize discoveries');
});
});describe('discoveryService', () => {
describe('when discoveries initialization failed',()=> {
beforeEach(
// Setup failed request mock
)
it('should show error message', () => {
discoveryService.initDiscoveries();
expect(toastr.error)
.toHaveBeenCalledWith('Failed to initialize discoveries');
});
});
Об удобочитаемом именовании тестов в JS и поведенческом паттерне