【问题标题】:Laravel Packages Testing (PHPUnit)Laravel 包测试 (PHPUnit)
【发布时间】:2017-11-29 13:38:45
【问题描述】:

我对 Laravel 5 Package 和 UnitTest 感到困惑

我创建了一个具有以下结构的包

Laravel/packages/Abc/Zzz/src/Manual.php
Laravel/packages/Abc/Zzz/tests/testManual.php
Laravel/packages/Abc/Zzz/composer.json

在manual.php中,我使用laravel函数“文件”打开一个文件,但是当我运行PHPUnit来测试我的类时,它显示了

1) Abc\Zzz\tests\testManual::testManual
Error: Class 'File' not found

我需要什么才能为我的班级“使用”这个库。

提前致谢:)

更多信息 Laravel/packages/Abc/Zzz/composer.json

{
    "name": "Abc/Zzz",
    "description": "This is a private pakcage for Abc Zzz Project",
    "authors": [
        {
            "name": "",
            "email": ""
        }
    ],
    "require": {},
    "minimum-stability": "dev",
    "autoload": {
        "psr-4": {
            "Abc\\Zzz\\": "src/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Abc\\Zzz\\Tests\\": "tests/"
        }
    }
}

更新 我将以下内容放入包 composer.json

"illuminate/filesystem": "5.4.*"

然后运行 ​​composer install 但我仍然不能使用文件外观。 它显示

RuntimeException: A facade root has not been set.

【问题讨论】:

    标签: php laravel phpunit package


    【解决方案1】:

    你应该使用默认的 laravel 文件系统,看起来你应该导入文件,所以试试

    use File; 或 \File

    【讨论】:

    • 感谢您的回复,我已经在Manual.php中添加了use File,但是显示同样的错误,我编辑了帖子(composer.json),它里面没有任何laravel文件系统包文件夹。
    • 我想把包单独保存到Github,用Jenkins用Unit Test测试这个包,然后新建一个空白的laravel项目,composer需要这个包,做集成测试。
    猜你喜欢
    • 2019-06-06
    • 2017-10-19
    • 2020-12-09
    • 2016-06-04
    • 2016-07-28
    • 2016-06-04
    • 2018-05-08
    • 2016-02-18
    • 2014-09-28
    相关资源
    最近更新 更多