Имя класса принятия Yii2 Codeception должно быть допустимым объектом или строкой.

Я пытаюсь настроить тестирование кода на Yii2. Мой стек: vagrant + Selenium + chromedriver + PHP 7.1. Вот моя концепция конфигурации:

    actor: AcceptanceTester
modules:
    enabled:
    - WebDriver:
        url: 'http://localhost:8080/'
        window_size: 1920x1080
        browser: chrome
        capabilities:
            chromeOptions:
                args: ["--no-sandbox", "--headless", "--disable-gpu"]
                binary: "/usr/bin/google-chrome-stable"
    - Yii2:
        part: [orm,email]
        entryScript: index-test.php

config/test.php равен config/console.php

Вот некоторый вывод из консоли:

     ./yii serve
Server started on http://localhost:8080/
Document root is "/var/www/test/web"
Quit the server with CTRL-C or COMMAND-C.
[Fri Jun  1 12:46:39 2018] ::1:45348 [200]: /
[Fri Jun  1 12:46:52 2018] ::1:45362 [200]: /

В итоге я взял PageCest так же, как и HomeCest в базовом шаблоне и запустил тесты. Модульное тестирование работает, но приемочные тесты возвращают следующее:

PageCest: Ensure that about page works

Тестовые тесты/принятие/PageCest.php:ensureThatAboutPageWorks

[Error] Class name must be a valid object or a string

Эта ошибка повторяется для всех методов PageCest. Что я сделал не так?


person Dekar    schedule 01.06.2018    source источник
comment
Запустите codeception с параметром -vvv и предоставьте трассировку стека.   -  person Naktibalda    schedule 04.06.2018


Ответы (1)


Проблема была в codeception.yaml. Таким образом, codeception не смог найти класс Actor. Обращайте внимание на орфографию и отступы.

person Dekar    schedule 06.06.2018