ТЕСТ. Не создает объект Class Not Found РЕШЕНО

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
myks1992@mail.ru
Сообщения: 122
Зарегистрирован: 2017.11.15, 23:54

ТЕСТ. Не создает объект Class Not Found РЕШЕНО

Сообщение myks1992@mail.ru » 2019.05.18, 02:56

Всем привет. Весьма странная ошибка при тестировании. Ругается на любой объект, что не может его создать в классе теста. Ошибка такая:
Error : Class 'app\modules\registration\models\Discipline' not found
/Users/maksimvorozcov/Web/vmcentre/tests/unit/modules/registration/DisciplineTest.php:16
Самм класс:

Код: Выделить всё

<?php

use PHPUnit\Framework\TestCase;

class DisciplineTest extends TestCase
{

    public function testIsActive()
    {
        new \app\modules\registration\models\Discipline();
        $this->assertTrue(true);
    }
}
Если убрать создание объекта, то тесты проходят. Но если создавать любой объект, то он его почему-то не может найти...
Очень странно... Второй день ищу и не могу найти ошибку(
Последний раз редактировалось myks1992@mail.ru 2019.05.19, 11:48, всего редактировалось 2 раза.

Аватара пользователя
maleks
Сообщения: 1730
Зарегистрирован: 2012.12.26, 12:56

Re: ТЕСТ. Не создает объект Class Not Found

Сообщение maleks » 2019.05.18, 06:26

Все обычно codeception тесты под yii проекты запускают, они же в шаблонах идут. И пишут соответственно их.
А вы чисто с phpunit-ом решили работать? Bootstrap с yii приложением сделали?

myks1992@mail.ru
Сообщения: 122
Зарегистрирован: 2017.11.15, 23:54

Re: ТЕСТ. Не создает объект Class Not Found

Сообщение myks1992@mail.ru » 2019.05.18, 12:50

maleks писал(а):
2019.05.18, 06:26
Все обычно codeception тесты под yii проекты запускают, они же в шаблонах идут. И пишут соответственно их.
А вы чисто с phpunit-ом решили работать? Bootstrap с yii приложением сделали?
Мне нужно модуль тестировать... Не хочется codeception использовать хотелось бы чисто phpunit, если разберусь что не так(

файл бутстрап

Код: Выделить всё

<?php

defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'test');

require(__DIR__ . '/../../../vendor/autoload.php');
require(__DIR__ . '/../../../vendor/yiisoft/yii2/Yii.php');

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<phpunit bootstrap="./tests/bootstrap.php"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         stopOnFailure="false">
    <testsuites>
        <testsuite name="Test Suite">
            <directory>./tests</directory>
        </testsuite>
    </testsuites>
    <filter>
        <whitelist>
            <directory suffix=".php">./</directory>
        </whitelist>
    </filter>
</phpunit>

Аватара пользователя
maleks
Сообщения: 1730
Зарегистрирован: 2012.12.26, 12:56

Re: ТЕСТ. Не создает объект Class Not Found

Сообщение maleks » 2019.05.18, 15:46

Так а где вы там сам объект приложения создаете, какой конфиг ему подсовываете, пример
Дебажьте куда алиас app у вас ведет.

myks1992@mail.ru
Сообщения: 122
Зарегистрирован: 2017.11.15, 23:54

Re: ТЕСТ. Не создает объект Class Not Found

Сообщение myks1992@mail.ru » 2019.05.18, 15:49

А если я хочу протестировать просто объект без приложения? Мне не нужна база. Я хочу только методы протестировать. Почему он не находит класс? При том не только модели yii.

myks1992@mail.ru
Сообщения: 122
Зарегистрирован: 2017.11.15, 23:54

Re: ТЕСТ. Не создает объект Class Not Found РЕШЕНО

Сообщение myks1992@mail.ru » 2019.05.19, 11:49

Проблема была в composer.json. Не было autoload

Ответить