тестирование многоэтапного рабочего процесса в rspec

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

  • ...
  • Я прочитал http://eggsonbread.com/2010/ 28.03 / my-rspec-best-practice-and-tips / , который сообщает, например, что каждый «it-блок» должен содержать только одно утверждение: вместо выполнения вычисления и последующего тестирования нескольких атрибутов в одном блоке используйте «до» внутри контекста для создания (или извлечения) тестируемого объекта и присвоения его переменной @some_instance_variable, а затем записать каждый тест атрибута как отдельный блок. Это немного помогает, но в таком случае, как описано выше, когда шаг тестирования n требует выполнения всех настроек для шагов [1 .. n-1] Я обнаружил, что либо дублирую установочный код (очевидно, не очень хорошо), либо создаю множество вспомогательных функций со все более громоздкими именами (def create_basket_with_three_lines_and_two_products) и вызываю их последовательно на каждом шаге перед блоком.

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

    7
    задан telent 13 December 2010 в 16:10
    поделиться