Насколько тщательно вы должны пройти тестирование RSpec?

StackOverflow https://stackoverflow.com/questions/1804847

  •  05-07-2019
  •  | 
  •  

Вопрос

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

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

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

Это было полезно?

Решение

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

<Ол>
  • Спецификационное покрытие должно быть максимальным для наиболее важных функций и объектов, которые с наибольшей вероятностью могут сломаться.
  • Спецификации должны выражать намерение разработчика. Не пишите спецификации для тривиальных вещей, которые вы или кто-то еще можете изменить позже.
  • Тест поведения, а не реализация. Вы должны иметь возможность изменять внутреннюю реализацию класса и при этом передавать спецификации. Это облегчает рефакторинг.
  • Каждый раз, когда вы исправляете ошибки, добавляйте спецификации, чтобы ошибка не регрессировала.
  • Я считаю полезным думать о тестах / спецификациях как о защитной сети. Я хочу, чтобы спецификация не работала, если другой разработчик (или я) сломал что-то, что я потратил на работу. Я не хочу, чтобы им приходилось тратить много времени на изменение спецификаций для вещей, которые на самом деле не имеют значения. Я также не хочу мешать им улучшать приложение из-за спецификаций, которые тестируют вещи, которые не были важны для меня при написании кода.

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top