Так мне и моей команде создании веб-приложений, и мы делаем это:AngularJS, что должно быть испытанные
- один из них отвечает за API:
- API-интерфейс будет служить пользовательский интерфейс, предоставит ему данные и сможет предоставить поля, которые пользовательский интерфейс хочет, отсортировал и все, в основном он фильтрует все данные, чтобы пользовательский интерфейс не нуждался.
- Еще один отвечает за пользовательский интерфейс:
- Пользовательский интерфейс будет потреблять API и представлять данные
- Я делаю тест, но я делаю тесты после кода. Я тестирую как API (тесты на модуле phpunit - unit и интеграционные тесты), так и UI (тесты на жасмин - модульные испытания и транспортир - e2e)
Так что же я должен проверить?
Большинство функций контроллера на угловом JS извлекают данные и присваивают им значение $ scope, так что эти функции стоят единицы измерения?
Пример метода контроллера:
UnidadesOrganicasService.getUnidadesOrganicas().then(function (unidadesOrganicas) {
$scope.unidadesOrganicas = unidadesOrganicas;
}, function errorCallback() {
$scope.showToastError('Occorreu um erro a carregar as unidades orgânicas!');
});
Другие методы делают в основном то же самое с некоторыми, если в том, что зависит от данных, который приходит из API.
методслужбы:
this.getUnidadesOrganicas = function() {
return Restangular.all("unidades-organicas").getList({"sort": "acronimo"});
};
Так что тест будет выглядеть так:
- фиктивные данные с $ httpBackend
- проверка объема имеет правильные издевались данные, но это приведет к чему-то вроде этого:
expect($scope.something).toEqual(MockedSomething);
и http mock будет следующим:$httpBackend.expectGET('/something').respond(MockedSomething);
Я знаю, что тесты E2E в пользовательском интерфейсе очень важны, но в данном случае это единичные тесты, которые стоит сделать для такого рода методов? Или я должен просто проверить действительно важные методы, такие как методы и методы вычисления?
С другой стороны, в API большинство функций кажутся неуместными для проведения интеграционных тестов и модульных тестов.
Мой реальный вопрос в том, что я думаю правильно и какую-то ориентацию на то, что тестировать в этом случае.
EDIT 1:
Другой вопрос: В моем случае (я тестирую после кода, а не тест-разработки на основе), я должен только тест после того, как контроллер будет завершена (делать то, что он должен делать но может быть реорганизован немного) правильно?
Конечно, вы можете начать с e2e/accept, а затем реорганизовать проект для мелкозернистых тестов, когда у вас будет время. Если бы никто из команды не обладал солидным опытом разработки приложений TDD, было бы слишком рискованно начинать рефакторинг в середине нигде. – estus
Да, у нас нет большого опыта в тестировании: P –