2012-04-04 2 views
0

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

Ситуация в основном заключается в том, что я остался с кем-то из структуры CakePHP, которая не позволяет мне знать код. Это связано с нехваткой времени и отсутствием документации.

Мне нужно запустить тесты в этой системе, однако это приведет к неправильным данным на странице отчетов, когда я создам новые заказы и т. Д. Это недопустимо, и в основном есть много моделей, которые сохраняют данные в отчетах, просто создавая другие строки.

Простейшим решением здесь будет создание строк отчета, которые будут созданы, если я зарегистрирован как определенный пользователь. Тогда я просто просто выполняю условие и определяю, должен ли я вставлять строку отчета в базу данных или нет. (if ($bool_tester) return FALSE; else /* Insert data */)
Это, однако, потребовало бы получить данные сеанса в Модели, которые я прочитал, является плохим решением. Я не могу просто запустить дополнительный параметр в функции, так как функция вызывается во многих местах во множестве файлов.

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

Определение значения сеанса через контроллеры не является гладким решением либо здесь.

ответ

2

Проведите тестирование в своей среде разработки, а не на сайте.

+0

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

+0

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

+0

Использование тестовой среды зависит от тихих факторов. Наиболее важна конфигурация PHP (основанная на том, что вы работаете с CakePHP). Лучшее место для тестовой среды будет на том же сервере, что и в реальном приложении. Вы можете поддерживать живую версию и тестовую версию и использовать символические ссылки для окружающей среды для переключения теста на живую среду. – Bearwulf

1

Вы используете модульное тестирование для испытаний? CakePHP does support that. Когда вы находитесь, вы можете указать stub or mock данные в вашей настройке для теста. Cake also supports that.

+0

Я не знаю почему, но мне трудно понять документацию CakePHP. –

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