В последнее время я много занимался этим для клиентских проектов.Самыми большими блоками для меня, кажется, является безудержное использование встроенного JavaScript с или без RJS.[Примечание: есть правильный и неправильный способ сделать AJAX, и большинство людей делают Doing It Wrong ™.] Обычно я использую огурец с небольшим количеством rspec для странных модульных тестов.
Переменные, которые необходимо учитыватьразнообразны, но хорошее место для начала - несколько модульных тестов для ваших моделей.Создайте несколько фабрик и протестируйте свои проверки, а также любое настроенное поведение, которое, по вашему мнению, нуждается в тестировании.
Если вас это не устраивает или у вас уже есть набор модульных тестов, и вы хотите добавить интеграцию, следующий вопрос - это степень, в которой вы выполняете много встроенного JavaScript или RJS,Если ваше приложение очень «ajaxy», вам нужно начать с драйвера селена для огурцов, который в феврале работает медленнее, чем патока, но он справится с работой.Как только у вас будет набор тестов, охватывающих всю функциональность (или даже только важные вещи) для вашего приложения, я начну рефакторинг javascript, чтобы он работал ненавязчиво.
Еще одно направление, которое вы могли бы сделать, - этосоздайте дополнительные rspecs для ваших контроллеров и представлений, но мне не очень нравится этот шаблон, поскольку вы начинаете тестировать реализацию вместо функциональности .
Важно помнить, что не все должно происходить в одночасье.Проанализируйте свои рабочие процессы (например, вход в систему, выполнение задачи A, выполнение задачи B и т. Д.) И определите, какие из них покрывают 80% ваших типичных случаев использования.Проверьте это в первую очередь.Затем используйте что-то вроде metric_fu или просто rcov (или любой другой инструмент покрытия) и найдите области вашего кода, которые логичны и не проверены.Мне нравится metric_fu за это, потому что набор инструментов, которые он запускает, может дать вам обе эти части информации.