Laravel单元测试scandir失败,因为基本路径错误

时间:2018-03-03 22:05:00

标签: php laravel unit-testing phpunit

我有一个控制器,可以从文件夹中获取图像列表并将它们传递给视图:

public function create()
{
    $marker_images = scandir("./img/markers");
    $background_images = scandir("./img/backgrounds");
    $type = new Type();
    return view('admin.types.create',compact('type','marker_images','background_images'));
}

这可以正常工作,直到我运行我的单元测试,然后在scandir步骤

失败
failed to open dir: No such file or directory

如果我添加

exec('pwd',$return);
    print_r($return);

我看到路径正在改变,当我手动浏览页面路径

/Users/<my username>/Sites/core-site/public 

但是在执行单元测试时

/Users/<my username>/Sites/core-site

如何让它为单元测试选择正确的基本路径?

我的单元测试看起来像这样:

public function testTypesCreate()
{

    $controller = $this->app->make('App\Http\Controllers\Admin\TypeController');
    $response = $controller->create();
    $this->assertEquals($response->name(), 'admin.types.create');

}

0 个答案:

没有答案