YiiFramework Как подключить фикстуры при функциональном тестировании

Европа - быстрые серверы на дисках NVMe от $5 / Русский датацентр от 199руб

Тема в разделе "Yii Framework", создана пользователем ilya12345, 4 авг 2018.

  1. ilya12345

    ilya12345 Новичок

    Сообщения:
    33
    Ваш город:
    Moskva, Москва, Россия
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Можно ли при функциональном тестировании переключаться на тестовую базу данных и перед запуском тестов подключать фикстуры?

    сейчас получается я работаю с рабочей базой данных и естественно информация в бд будет обновляться, тесты не будут проходить


    файл functional.suite.yml
    Код:
    suite_namespace: frontend\tests\functional
    actor: FunctionalTester
    modules:
        enabled:
            - PhpBrowser:
                url: 'http://mysite.ru/'
                                   
            - REST:
                           depends: PhpBrowser
                           url: 'http://mysite.ru/'
    
     
  2. ivanov77

    ivanov77 Новичок

    Сообщения:
    127
    Ваш город:
    Чернигов, Черниговская область, Украина
    Address:
    Chernihiv, Ukraine
    Country:
    Location on Map:
    phpbrowser - это же для acceptance тестов.
     
  3. A1x

    A1x Новичок

    Сообщения:
    996
    Ваш город:
    Kiev
    Address:
    Kiev, Ukraine
    Country:
    Location on Map:
    не можно а нужно, как ты сам пишешь с рабочей базой тесты естественно работать не будут
     
  4. ilya12345

    ilya12345 Новичок

    Сообщения:
    33
    Ваш город:
    Moskva, Москва, Россия
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Буду очень благодарен если подскажешь как это(подключить тестовую бд и подготовленные фикстуры перед запуском функцианальных тестов) осуществить
     
  5. A1x

    A1x Новичок

    Сообщения:
    996
    Ваш город:
    Kiev
    Address:
    Kiev, Ukraine
    Country:
    Location on Map:
    не скажу точно как в Yii, я работаю с Симфони, там по умолчаню используется PHPUnit, для тестов используется отдельный конфиг со всеми параметрами, в т.ч. базы данных,
    в пхпЮните перед каждым тестом выполняется метод setUp в котором и загружаются фикстуры в базу - заново создаются все таблицы и в них пишутся тестовые данные перед каждым тестом. Иногда для отдельных тестов загружаю какие-то специфические фикстуры уже в самом методе теста. Есть разные тулзы для облегчения создания фикстур но я использую обычные .sql файлы, хотя может это и не лучший вариант
     
  6. ilya12345

    ilya12345 Новичок

    Сообщения:
    33
    Ваш город:
    Moskva, Москва, Россия
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Спасибо и на этом. С unit тестированием как раз все понятно, через документацию разобрался. А мне нужно именно функциональным (или приемочными тестами) проверить свое Rest Api. Грубо говоря проверить если я посылаю на свой сервер json для получения данных из бд, то хочу проверить тестами json на выходе.
    И было бы хорошо если при тестировании можно было переключиться на тестовую бд
     
  7. A1x

    A1x Новичок

    Сообщения:
    996
    Ваш город:
    Kiev
    Address:
    Kiev, Ukraine
    Country:
    Location on Map:
    Я именно и писал о функциональном тестировании, несмотря на название PHPUnit используется и для функциональных тестов тоже. Тоже тестирую так Rest Api
     
  8. ilya12345

    ilya12345 Новичок

    Сообщения:
    33
    Ваш город:
    Moskva, Москва, Россия
    Address:
    Moscow, Russia
    Country:
    Location on Map:
    Отлично. Спасибо. Буду копать в эту сторону дальше)
     
  9. WMix

    WMix герр M:)ller Партнер клуба

    Сообщения:
    6.333
    Ваш город:
    Berlin
    Address:
    Berlin, Germany
    Country:
    Location on Map:
    организовываешь копию аппликации на новой тестовой базе и пользуешся, в чем проблема не понимаю...
    https://phpunit.de/manual/6.5/en/database.html