Я хотел бы начать использовать RSpec для записи тестов для моего приложения Rails, но у меня есть много существующих тестов, написанных с помощью Test :: Unit. Я хотел бы продолжать быть в состоянии запустить все тесты (или все модульные тесты, функциональные тесты и т.д.) просто из командной строки, с чем-то вродеКак интегрировать RSpec с Rake, Rails и мои существующие тесты?
rake test:units
или что-то, и есть его выполните все модульные тесты, независимо от того, написаны ли они с помощью Test :: Unit или RSpec. И я определенно не хочу тратить кучу времени на преобразование моих существующих тестов в RSpec; это не стартер.
Прямо сейчас я думаю, что мне бы хотелось, чтобы мои тесты RSpec существовали рядом с моими существующими тестами, в тесте/модуле, тестированию/функционале и т. Д. Каков наилучший способ для этого? Или это даже хорошая идея? То есть, я довольно новичок в RSpec (и Ruby и Rails, если на то пошло), так что, может быть, лучше использовать RSpecs отдельно. Независимо от того, где они хранятся в файловой системе, мне все равно нужно будет запускать все тесты с одной задачей rake, и мне нужно будет собирать номера покрытия кода для всего тестового корпуса, используя rcov, который Я уже делаю свои тесты.
Значит ли это, что я не должен использовать RSpec для создания модульных тестов и функциональных тестов? По сути, ваш ответ говорит мне, что тесты rspec - это отдельный тип теста. Кроме того, с этой системой организации, похоже, нет никакого способа отделить тесты rspec, которые проверяют только один блок от тех, которые служат более крупными функциональными или интеграционными тестами. Я бы хотел поддерживать этот уровень разделения в своих тестах. Наличие одной категории тестов неприемлемо для крупных проектов, таких как тот, над которым я работаю. – Jeff 2010-11-23 20:53:18