Подтвердить что ты не робот

Сравните плюсы и минусы Autofeature/autotest против Guard?

Есть ли у кого-нибудь конкретные аргументы в пользу использования одного автотестирующего бегуна над другим? Я использовал Autofeature + autotest, мне очень нравится встроенный процесс, который он устанавливает в том, что он сначала запускает мои тесты rspec, а затем тесты огурца и только последний провал теста - он поддается стандарту рабочий процесс написания тестов огурца, настройка шагов до тех пор, пока они не сработают, а затем опуститесь на единичные тесты для подробной функциональности.

Я использовал охрану в стандартной конфигурации rspec, и она хорошо работала, но я не сбрасывался в тестах огурца - не успевал экспериментировать дальше.

Просто интересно, есть ли у кого-то какие-то конкретные причины для использования одного над другим или один из способов смягчает слабость другого.

Спасибо за ввод, Тони

4b9b3361

Ответ 1

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

В настоящее время я использую его для Rspec, Passenger и Yard, но список очень длинный, и вы всегда можете реализовать свою охрану, если вам это нужно для чего-то еще.

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

Некоторые из доступных охранников можно каким-то образом заменить, например, с помощью ярда вы можете запустить его собственный сервер, но тогда вам нужно два разных процесса, с защитой вы можете выполнять всю работу с одним процессом.

Другими словами, Guard является скорее универсальной Framework для каждого процесса, который должен выполнить что-то, вызванное сменой файла, autotest ограничивается запуском тестов.

Update

В ответ на ваш комментарий

Вы можете рандомизировать порядок заказа, используя --rand в вашем .rspec файле если у вас есть Rspec > 2.8. Таким образом, это достигается по порядку rspec и работает также при вызове rspec с помощью rake или с rspec исполняемым файлом.

Для меньшего количества файлов есть guard-less.

Кроме того, последние версии защиты также встроены в консоль Rails с pry, доступным, когда защита неактивна, очень полезна в режиме разработки.

Ответ 2

Министры, стрела и охрана не работают вместе. LoadError: no such file to load -- -r

Из-за этого: https://github.com/semaperepelitsa/spork-minitest/issues/2

Итак, я переключился на автотест (см. легкий тестовый набор Майкла Гроссера в README). Fsevent, похоже, снижает нагрузку на процессор, но не как "реактивный", как моя прежняя настройка Guard с fsevent. Я не уверен, почему.

Обновление: на самом деле я уверен, почему. Я открыл (второстепенную) проблему в автотесте: https://github.com/grosser/autotest/issues/33

Это сон по умолчанию 1 секунда. У меня есть обход проблемы, но это взломать. Не знаю элегантного решения. При этом он ведет себя так же быстро, как Guard, и работает с Minitest.

Autotest + Minitest, похоже, не может сделать раскрашенный вывод, потому что это не tty. Это не относится к Autotest iirc. Мне нравится настройка Guardfile Guard, я не знаю, где "наблюдатели" находятся в Autotest. Пока это работает, но это может быть проблемой.