Как писать тесты в Yii?

Уже второй день пытаюсь разобраться как писать тесты в Yii и ничего не выходит.

По данному мануалу
php-md5.blogspot.com/2013/05/phpunit-selenium-rc-y...

я установил все это дело с phpunit

Перехожу в папку:
\yii2\apps\advanced\frontend\tests\unit

Создаю свой первый тест MyOneTest.php:

use \yii\codeception\TestCase;

class MyOneTest extends TestCase
{
    public function testFailure()
    {
        $this->assertTrue(true);
    }
}


пример тоже где-то подцепил из мануалов, запускаю: phpunit MyOneTest.php

F:\OpenServer\domains\portf.ru\yii2\apps\advanced\frontend\tests\unit>phpunit My
OneTest.php
PHP Fatal error:  Class 'yii\codeception\TestCase' not found in F:\OpenServer\do
mains\portf.ru\yii2\apps\advanced\frontend\tests\unit\MyOneTest.php on line 6

Fatal error: Class 'yii\codeception\TestCase' not found in F:\OpenServer\domains
\portf.ru\yii2\apps\advanced\frontend\tests\unit\MyOneTest.php on line 6


Написал как-то так:
class MyOneTest extends PHPUnit_Framework_TestCase
{
    public function testFailure()
    {
        $this->assertTrue(true);
    }
}


Вроде все работает.
PHPUnit 3.7.32 by Sebastian Bergmann.

.

Time: 72 ms, Memory: 1.75Mb

OK (1 test, 1 assertion)


Но в таком случае я так понял у меня не будет доступа в методах теста к компонентам Yii. Подскажите пожалуйста что делать?
  • Вопрос задан
  • 5918 просмотров
Пригласить эксперта
Ответы на вопрос 3
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
ну у вас не находит класс \yii\codeception\TestCase. Вы наверное не подключили YIi-шный автолоадер.
Ответ написан
@gro
Не знаю про Yii.
У phpunit есть конфиг - phpunit.de/manual/current/en/appendixes.configurat...
Там можно указать bootstrap, файл, который будет подключаться при запуске phpunit.
В нём видимо, нужно, прописать автозагрузку.
Ответ написан
Комментировать
go3l337
@go3l337
Все работает из коробки, запускать нужно из папки tests, там есть bootstrap файл, который загружает все необходимые классы.
В этом случае команда будет примерно такая:
phpunit unit/MyOneTest.php
Или все тесты с папки unit
phpunit --verbose unit
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы