Насколько тщательно вы должны пройти тестирование RSpec? - PullRequest
2 голосов
/ 26 ноября 2009

Я только начинаю понимать BDD и RSpec, и одна вещь, с которой у меня действительно возникают проблемы, - это выяснить, насколько тщательным должен быть мой тест.

Я просто не понимаю, насколько детализированным должно быть мое тестирование, чтобы оно оставалось полезным, но не удваивало время разработки.

Это просто вопрос предпочтений? Или есть какой-то общий стандарт для того, что должно быть проверено?

1 Ответ

5 голосов
/ 26 ноября 2009

Здесь нужно учесть несколько факторов.

  1. Спецификационное покрытие должно быть максимальным для наиболее важных функций и объектов, которые с наибольшей вероятностью могут сломаться.
  2. Спецификации должны выражать намерение разработчика. Не пишите спецификации для тривиальных вещей, которые вы или кто-то еще можете изменить позже.
  3. Тест поведения не реализация. Вы должны иметь возможность изменять внутреннюю реализацию класса и при этом передавать спецификации. Это облегчает рефакторинг.
  4. Каждый раз, когда вы исправляете ошибки, добавляйте спецификации, чтобы предотвратить регрессию ошибки.

Я считаю полезным думать о тестах / спецификациях как о защитной сети. Я хочу, чтобы спецификация не работала, если другой разработчик (или я) сломал что-то, что я потратил на работу. Я не хочу, чтобы им приходилось тратить много времени на изменение спецификаций для вещей, которые на самом деле не имеют значения. Я также не хочу мешать им улучшать приложение из-за спецификаций, которые тестируют вещи, которые не были важны для меня при написании кода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...