【发布时间】:2016-10-25 15:21:00
【问题描述】:
我正在为使用 Laravel 5 中的 Storage 外观的类创建测试。运行测试时出现错误“ReflectionException: Class filesystem does not exist”。
这是测试代码
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Support\Facades\Storage as Storage;
use App\Fourpoint\services\Material;
use \Illuminate\Container\Container as Container;
use \Illuminate\Support\Facades\Facade as Facade;
class MaterialServiceTest extends TestCase
{
use DatabaseMigrations;
protected $directory;
protected $file;
public function setUp(){
$app = new Container();
$app->singleton('app', 'Illuminate\Container\Container');
Facade::setFacadeApplication($app);
$this -> mat = new \App\FourPoint\services\Material();
$this -> directory = 'home/Code/project4point/tests/mockFiles';
$this -> file = new \Symfony\Component\HttpFoundation\File\UploadedFile('tests/mockFiles/testPDF.pdf', 'testPDF.pdf');
}
public function testNewMaterial(){
Storage::shouldReceive('put')
->andReturn(true);
Storage::shouldReceive('exists')
->andReturn(true);
$this -> mat->newMaterial('pdf',1,1,'testPDF',$this -> file,1,1);
}
}
错误是由“Storage::shouldReceive('put')”引起的
【问题讨论】: