Kohana И PhpUnit в Netbeans - PullRequest
       5

Kohana И PhpUnit в Netbeans

0 голосов
/ 08 августа 2011

Я делаю PHP с Kohana 3 (IDE: Netbeans), и воодушевился идеей написания тестов для кода.Это звучит довольно круто, но у меня мало сложностей и беспокойств.

  1. Почему использование модуля unittest Kohana в браузере в 5 раз быстрее, чем запуск тестов в Netbeans или в командной строке?

  2. Как я могу исключить все внутренние тесты коаны?В файле конфигурации PHPUnit .xml?

  3. Почему при запуске любого теста у меня на панели Netbeans есть две записи для него - одна с желтым треугольником (там написано «файл x пропущен»)и запись с нормальным результатом теста.Я получаю двойные записи для каждого теста, в том числе для Коханы.Я не против, но это странно.

  4. По всему Интернету я вижу примеры, учебные пособия и скринкасты PHPUnit с примерами классов и методов, которые добавляют два числа или отображают имя или делают другоетривиальные вещи.Я научился делать подобные утверждения, но как я могу протестировать свой код на Kohana?Мои модели на 90% состоят из ORM.Контроллеры?Как?Приветствуются любые инструкции и примеры.

    Я видел в руководстве по Ruby о Rspec способ тестирования БД с помощью тестирования среды Databse и откатов после завершения тестов.Также были смоделированы действия пользователя, такие как нажатие на ссылки.Возможно ли это с помощью PHPUnit?

Ответы [ 2 ]

0 голосов
/ 09 ноября 2011

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

Обычно действия контроллера должны быть проверены так же, как и любые помощники илимодули, которые вы написали.Обычно для обхода базы данных используется парадигма насмешливого фреймворка.Хорошая вещь об этом - гигантское увеличение скорости в вашем тестировании.Полагаю, что есть также несколько фреймворков для PHP.

Еще одна важная вещь, о которой следует помнить, это то, что у вас также есть пользовательское тестирование.Это нельзя смоделировать с помощью тех тестов, которые вы пишете на кохане.Для этого интересно посмотреть на http://seleniumhq.org/

0 голосов
/ 18 августа 2011

Вероятно, лучше разбить такой бессвязный вопрос на несколько вопросов SO.

  1. Не знаю.Возможно, для NetBeans есть накладные расходы на вызов phpunit по сравнению с apache, передающим запрос в PHP.
  2. Это может быть возможно, или вы можете найти способ установить следующую опцию: --exclude-group kohana
  3. Не знаю, извините.
  4. AFAIK PHPUnit не может выполнять тесты взаимодействия с клиентом.Как проводить тестирование поведения системы может быть вопросом самостоятельно.
...