Я разрабатываю интерфейс с angular и начал писать тесты для транспортира e2e. Соответствующий внутренний API может в некоторых случаях возвращать 401, 404 или другие клиентские ошибки.
Ниже приведен фрагмент кода, в котором проверяется вход в систему:
it('should block unregistered users', () => {
page.navigateTo()
expect(page.showsLogin()).toBe(true);
page.login("test", "test"); // http request against API happens here
expect(page.showsLogin()).toBe(true);
});
Проверка завершается неудачно, поскольку API возвращает 404, но это ожидается.
✗ should block unregistered users
- Expected [ Entry({ level: SEVERE, message: 'http://localhost:4200/api/v1/auth - Failed to load resource: the server responded with a status of 404 (Not Found)', timestamp: 1587332452811, type: '' }) ] not to contain <jasmine.objectContaining(Object({ level: SEVERE }))>.
Как я могу заставить тест работать? (Я не хочу вызывать API напрямую из теста)
Или я должен спроектировать мой API и тесты, чтобы иметь только 200 с?