База данных / модель светильников и исходное состояние - PullRequest
1 голос
/ 27 января 2011

Я начинаю работать над улучшением моих методов тестирования и читаю об использовании Fixtures в Yii Framework, а также в Rails. Хотя я понимаю основную идею приборов - они загружают определенный набор данных перед каждым тестом, - мне не ясно, что происходит с состоянием базы данных перед тестированием. Хотя эти тесты, очевидно, не будут выполняться на рабочем экземпляре, в моделях разработки все же могут быть некоторые данные, которые я не хотел бы уничтожать при каждом запуске некоторых тестов. Не могли бы вы помочь мне разобраться с этими базовыми знаниями о приборах и модульном тестировании?

Ответы [ 2 ]

1 голос
/ 29 января 2011

В основном любой тестовый класс, который вы наследуете от CDbTestCase, попытается импортировать приборы в его функции setUp.

Следует также отметить, что если вы не объявите переменную $ fixtures в своем собственном классе, она будет импортировать весь набор имеющихся у вас приборов (поэтому, какую скорость вы считаете, если у вас много тестов, лучше всего добавить только что нужно)

Если у вас есть таблицы, для которых необходимо заранее указать конкретные данные, и вы не меняете их во время тестирования (как, например, в таблице «Продукты»), то просто убедитесь, что таблица находится в базе данных, и вы не создать для нее приспособление. Yii не будет касаться стола, и его можно использовать как положено.

1 голос
/ 27 января 2011

Ваши тесты работают с вашей тестовой базой данных, а ваша работа разработчика затрагивает вашу среду разработки (как установлено в файле базы данных yml).Имеется тестовая среда, так что вы можете перевести ее в известное состояние, не влияя на какие-либо данные, которые вы используете при «тестировании» запущенного приложения.

Надеюсь, это поможет немного его прояснить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...