Класс не найден в функции _before Codeception TestCase

Я пишу несколько тестов с Yii2 и Codeception, и я получаю странную ошибку при использовании моего собственного класса в функции _before():

FATAL ERROR. TESTS NOT FINISHED.
Class 'app\lib\FTPImage' not found in /var/www/proyect/tests/codeception/unit/lib/FTPImageTest.php:13

Это странно, потому что, если я использую его в тестовом методе, он работает как шарм :/

Вот код теста:

<?php
namespace tests\codeception\unit\lib;

use Yii;
use yii\codeception\TestCase;
use app\lib\FTPImage;

class FTPImageTest extends TestCase{

    public $ftp;

    public function _before(){
        $this->ftp = new FTPImage();
    }

    public function _after(){
    }

    public function testGetImagesNoImages(){
        $ftp = new FTPImage();

        $images = $ftp->getImages("123", "Foobar");

        $this->assertEmpty($images);
    }
}

А это код класса FTPImage:

<?php
namespace app\lib;

use Yii;
use app\lib\FTPClient;
use \yii\base\Exception;
use \yii\base\ErrorException;
use \yii\imagine\Image;

class FTPImage{     

    public function __construct() {
    }

    public function getImages($reference, $supplier_name){
        ...
    }

Я надеюсь, что есть кто-то, кто может мне помочь
Заранее спасибо!


person Rafael Redrado    schedule 25.02.2015    source источник


Ответы (1)


Наконец я нашел решение. Я изменил функции _before и _after на setUp и tearDown. Таким образом, я могу использовать свой класс FTPImage.

Вот что я сделал:

class FTPImageTest extends TestCase{

    public $ftp;

    public function setUp(){
        parent::setUp();
        $this->ftp = new FTPImage();
    }

    public function tearDown(){
        parent::tearDown();
    }

    ...
}
person Rafael Redrado    schedule 03.03.2015
comment
родитель::setUp(); если я добавлю эти строки, они перейдут в бесконечный цикл? что не так с моим кодом - person Anway Kulkarni; 18.05.2016