Class 在 Codeception TestCase 的 _before 函数中找不到
Class not found in _before function of Codeception TestCase
我正在使用 Yii2 和 Codeception 编写一些测试,但在 _before()
函数中使用我自己的 class 时出现奇怪的错误:
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 的代码 class:
<?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){
...
}
希望有人能帮助我
提前致谢!
我终于找到了解决办法。我已将 _before
和 _after
函数更改为 setUp
和 tearDown
。这样,我就可以使用我的 FTPImage class.
这是我所做的:
class FTPImageTest extends TestCase{
public $ftp;
public function setUp(){
parent::setUp();
$this->ftp = new FTPImage();
}
public function tearDown(){
parent::tearDown();
}
...
}
我正在使用 Yii2 和 Codeception 编写一些测试,但在 _before()
函数中使用我自己的 class 时出现奇怪的错误:
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 的代码 class:
<?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){
...
}
希望有人能帮助我
提前致谢!
我终于找到了解决办法。我已将 _before
和 _after
函数更改为 setUp
和 tearDown
。这样,我就可以使用我的 FTPImage class.
这是我所做的:
class FTPImageTest extends TestCase{
public $ftp;
public function setUp(){
parent::setUp();
$this->ftp = new FTPImage();
}
public function tearDown(){
parent::tearDown();
}
...
}