2015-04-16 3 views
1

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

Codeception использует следующую структуру:

 
tests/ 
- _data 
- _output 
- _support 
- acceptance 
- functional 
- unit 

Мы пытаемся включить тесты в нашей MVC структуру приложения, чтобы мы могли иметь следующее:

 
application/ 
- controllers/ 
     - folder1/ 
      - controller1.php 
      - test.php 
     - folder2/ 
      - controller2.php 
      - test.php 
- views/ 
     - view1/ 
      - view1.php 
      - test.php 
     - view2/ 
      - view2.php 
      - test.php 

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

Какова была бы начальная загрузка кода, чтобы заставить ее заглянуть в папку верхнего уровня и просто запустить любой тест в каталогах под ним и включить его в главный бегун?

ответ

1

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

Вы обнаружите, что структура кода по умолчанию путается с большим количеством тестов. Я столкнулся с той же проблемой, но для решения вы должны помнить одну вещь: Вы не привязаны к структуре:

  • приемочного
  • функциональный
  • блок

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

  • suite1/
    • controllertest1.php
    • viewtest1.php
  • suite2/
    • controllertest2.php
    • viewtest2.php Если этот набор заканчивается до малого, я бы поставил тесты для 1 модуля вашего приложения в 1 пакет. Не забудьте назвать тестовые камеры с выразительными именами. Это делает вашу жизнь намного легче.

Просто создайте новый пакет с ./codecept г: люкс suite1 http://codeception.com/docs/reference/Commands#GenerateSuite

Смежные вопросы