codeception @before, @after Разбиение на отдельные функции-подтесты, зависимости и связи. Класс, ООП стиль - цепочки тестов

Есть возможность оформлять набор тестов как класс, используя "Cest подход":

  • Тогда один тест, которые раньше записывался в файл можно записывать в метод этого класса -- т.е. вместо отдельного файла используется отдельный метод Cest-класса.
  • Используя аннотации @before и @after -- указывать, что надо выполнить перед этим тестом, а что после.
    Тут есть один момент -- если у вас есть цепочка методов (или даже дерево таковых), то "видимым" (public) - можно сделать только листья (конечные тесты) этого дерева -- благодаря этому при запуске сразу всех тестов неконечные тесты не будут выполняться отдельно (для этого их методы надо сделать защищёнными "protected"), что сэкономит время (их запуск итак будет обеспечен, может быть даже не один раз конечными тестами -- "листьями").

    Но если вы зависите от тестов, которые надо запускать "публично", то используйте @depends

  • Аннотация @depends позволяет просто указать какой тест надо выполнить перед данным
  • Данные, которые надо сохранять между тестами можно записывать в поля этого класса.

Дополнительно: