Очевидно, I don't understand unit testing. Это прекрасно, учитывая, что я никогда раньше этого не делал. Я начинаю новый проект и хочу с самого начала испечь модульное тестирование, поэтому я хочу учиться.Что должно и не должно быть охвачено модульными испытаниями?
Я всегда приравнивал модульное тестирование с покрытием кода, полагая, что у вас должны быть модульные тесты, которые охватывают каждую функцию/метод в вашем приложении, но это явно не так, и я полностью не понял эту концепцию.
Так,
- Какие виды функций выгоды от модульного тестирования?
- Какие функции не должны тестироваться на модуле?
, но такие вещи, как контроллеры и маршрутизаторы (т. Е. Передние контроллеры), являются общедоступными, и я не вижу, как модульные тесты могут их покрывать. Это проблема, о которой я задал в вопросе, который я связал, и смысл в этом вопросе. Должно ли это быть изменено на что-то вроде «каждой публичной функции, которая возвращает значение», или есть способ сделать модульное тестирование обложкой этих экземпляров? – AgentConundrum
Контроллеры и маршрутизаторы также должны быть протестированы. Это не теория, это делается на практике ежедневно. Некоторые структуры, т. Е. Rails, упрощают работу, чем другие. Примеры тестов для контроллеров: http://guides.rubyonrails.org/testing.html#functional-tests-for-your-controllers Примеры тестов для маршрутов: http://guides.rubyonrails.org/testing.html#testing- Маршруты – qertoip