我有一个测试人员课程,我尝试使用全局帮助程序方法base_path()
,但我收到以下错误:
Error: Call to undefined method Illuminate\Container\Container::basePath()
/myproject/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php:182
/myproject/tests/Feature/DataCsvSeedTest.php:31
/myproject/vendor/phpunit/phpunit/src/TextUI/Command.php:195
/myproject/vendor/phpunit/phpunit/src/TextUI/Command.php:148
看起来Laravel中的helper.php调用了basePath(),但无法找到它。我是否缺少全局帮助函数的命名空间或其他设置?使用Laravel 5.5。
<?php
namespace Tests\Feature;
use Tests\TestCase;
class DataCsvSeedTest extends TestCase
{
public function setUp()
{
$baseDir = base_path();
print "basedir = ". $baseDir;
}
}
答案 0 :(得分:5)
啊......这是一个testClass,
class DataCsvSeedTest extends TestCase
{
public function setUp()
{
parent::setUp();
$baseDir = base_path();
print "basedir = ". $baseDir;
}
}
当你覆盖setUp
方法时,不要预先调用父设置,这将启动应用程序。