laravel Сбой вспомогательной функции resource_path () в модульном тесте phpunit - PullRequest
0 голосов
/ 12 апреля 2020

У меня последняя версия laravel и composer.

При выполнении теста ниже:

    public function it_returns_the_documentation_page()
    {
        File::shouldReceive('get')
            ->with(resource_path("docs/0.1/auth"))
            ->once()
            ->andReturn("auth doc");
        $contents = Documentation::get("0.1","auth");
        $this->$this->assertEquals("auth doc", $contents);
    }

Я получаю сообщение об ошибке:

Error: Call to undefined method Illuminate\Container\Container::resourcePath()

Мой класс документации:

namespace App;
use Illuminate\Support\Facades\File;

class Documentation {
    public static function get($version, $page) {
        $path = resource_path("docs/${version}/${page}");
        return File::get($path);
    }
}

Затем я добавил метод setUp в этот класс тестирования:

    function setUp(): void {
        parent::setUp();
    }

Это изменило ошибку на:

Illuminate\Contracts\Container\BindingResolutionException: Target class [path.storage] does not exist.

E:\installed_programs\xampp\htdocs\my-documentation\vendor\laravel\framework\src\Illuminate\Container\Container.php:810
E:\installed_programs\xampp\htdocs\my-documentation\vendor\laravel\framework\src\Illuminate\Container\Container.php:690
E:\installed_programs\xampp\htdocs\my-documentation\vendor\laravel\framework\src\Illuminate\Container\Container.php:636
E:\installed_programs\xampp\htdocs\my-documentation\vendor\laravel\framework\src\Illuminate\Foundation\helpers.php:119
E:\installed_programs\xampp\htdocs\my-documentation\vendor\laravel\framework\src\Illuminate\Foundation\helpers.php:830
E:\installed_programs\xampp\htdocs\my-documentation\app\Documentation.php:8
E:\installed_programs\xampp\htdocs\my-documentation\tests\Unit\DocumentationTest.php:29

Caused by
ReflectionException: Class path.storage does not exist

Потратил целый день, пытаясь понять, что не так. Это происходит при запуске тестов. Нет проблем, если я посещу маршрут из браузера. Есть идеи, пожалуйста?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...