Страница 1 из 1

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

Добавлено: 2019.05.18, 02:56
myks1992@mail.ru
Всем привет. Весьма странная ошибка при тестировании. Ругается на любой объект, что не может его создать в классе теста. Ошибка такая:
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);
    }
}
Если убрать создание объекта, то тесты проходят. Но если создавать любой объект, то он его почему-то не может найти...
Очень странно... Второй день ищу и не могу найти ошибку(

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

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

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

Добавлено: 2019.05.18, 12:50
myks1992@mail.ru
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>

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

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

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

Добавлено: 2019.05.18, 15:49
myks1992@mail.ru
А если я хочу протестировать просто объект без приложения? Мне не нужна база. Я хочу только методы протестировать. Почему он не находит класс? При том не только модели yii.

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

Добавлено: 2019.05.19, 11:49
myks1992@mail.ru
Проблема была в composer.json. Не было autoload