Я пытаюсь получить мои тесты базы данных PHPUnit для моего Symfony 1.4 on Doctrine.
К сожалению, я не знаю лучших практик для этого. Все, что я пробую, похоже, имеет недостатки.
Что я уже пробовал:
1.
Я позволил своему классу UnitTest наследоваться от PHPUnit_Extensions_Database_TestCase. Затем я работаю с реализацией абстрактных методов getConnection и getDataset. Я бы предпочел настроить мои приборы в yaml. Поэтому я написал несколько файлов (один файл на модель). Загрузка одного файла или нескольких независимых файлов работает, но если у меня есть ключевые ограничения, я действительно должен позаботиться об использовании правильных идентификаторов.
Я использовал стандартный sfPHPUnitBaseTestCase в качестве базового класса и имел
Doctrine :: LoadData (sfConfig :: получить ( 'sf_test_dir') '/ светильники / book.yml.);
Учение :: LoadData (sfConfig :: получить ( 'sf_test_dir') '/ светильники / author.yml.);
в методе установки. Здесь я мог бы использовать метод Доктрины для определения отношений внешних ключей по имени, например
Author:
Author_1:
name: Max Mustermann
Book:
Book_1:
title: The first book
Author: Author_1
, который мне действительно нравится, потому что он очень интуитивно понятен.
Но Doctrine :: loadData выполняет только «УДАЛЕНИЕ ИЗ», а не усечение, что вызывает проблемы для моих таблиц поиска, где важны идентификаторы. Решением здесь было бы также поместить идентификаторы в файл фикстур.
Итак, эти тезисы - два моих подхода, оба из которых сработают, но ни один из них не кажется мне идеальным. Есть ли у вас идеи лучшей практики.
Большое спасибо