Возможна ли замена приспособлений между методами испытаний? Если да, то как я могу это сделать?
Мой синтаксис для этой проблемы:
В структуре cakephp я создаю тесты для поведения, которое настраивается путем добавления полей в таблицу. Это должно работать так же, как добавление «созданного» и "измененные" поля будут автоматически заполняться этими полями при сохранении.
Чтобы проверить это, я мог создаю десятки комбинаций приборов / моделей для тестирования различных настроек, но было бы в сто раз лучше, быстрее и проще просто изменять «форму» прибора между методами тестирования.
If you are not familiar with the CakePHP framework, you can maybe still help me as it uses SimpleTest
Обновлено: перефразировать вопрос, чтобы быть более общим





Я не знаком конкретно с CakePHP, но похоже, что подобные вещи случаются где угодно с приборами.
В рельсах нет встроенного способа, по крайней мере, для того, чтобы это произошло, и я думаю, что не в cakePHP или где-либо еще, потому что вся идея приспособления заключается в том, что это фиксированный
Я знаю 2 "достойных" обходных пути.
Напишите метод changefixture, и непосредственно перед тем, как вы сделаете свои утверждения / и т. д., Запустите его с параметрами того, что нужно изменить. Он должен пойти и обновить базу данных или что-то еще, что нужно сделать.
Не используйте фикстуры вообще, а используйте какую-то фабрику объектов или генератор объектов для создания своих объектов каждый раз.
Это не ответ на мой вопрос, а решение моей проблемы.
Вместо того, чтобы использовать несколько приборов или изменять их, я редактирую массивы схемы Model :: _, удаляя поля, без которых я хотел тестировать. Это приводит к тому, что модель действует так, как если бы полей не было, но я не уверен, является ли это 100% тестом. Я не думаю, что это подходит для всех случаев, но для моего примера это работает.