• laravel 单元测试 phpunit 运行报错 RuntimeException: No application encryption key has been specified 解决


    laravel 的测试套件基于 phpunit,对于命令行、数据库、HTTP 都提供了完善的测试套件。

    使用 Artisan 命令行来创建测试文件:

    php artisan make:test CheckFileExist
    

    运行测试:

    ./vendor/phpunit/phpunit/phpunit tests/Feature/CheckFileExist.php
    

    如果出现提示报错:

    RuntimeException: No application encryption key has been specified

    解决方法在官方文档的 测试相关 -> 快速入门 里的 环境 小节里,phpunit 进行测试时,laravel 会根据 phpunit.xml 里设定的环境变量来设置程序的环境,默认是 testing,下面是默认的 phpunit.xml 的关于环境变量设定的部分代码:

        <php>
            <env name="APP_ENV" value="testing"/>
            <env name="CACHE_DRIVER" value="array"/>
            <env name="SESSION_DRIVER" value="array"/>
            <env name="QUEUE_DRIVER" value="sync"/>
        </php>
    

    可以看到 APP_ENV 那一行的 value 是 testing。要解决这个 No application encryption key has been specified 报错,只需要根据自己的运行 phpunit 的环境来设置相应的 APP_ENV 值就行了。

  • 相关阅读:
    linux 下查看网速的方法 (不需要安装任何软件)
    Raspberry Pi Kernel Compilation 内核编译官方文档
    Kernel compiling for Pi 2
    从源码编译rpi的内核
    设备驱动调试和移植的一般方法
    爸爸的歌
    表扬?批评?
    日历插件js,jquery
    zepto jquery和zepto的区别?
    怎么学习PS快?
  • 原文地址:https://www.cnblogs.com/imzhi/p/laravel-testing-runtime-exception.html
Copyright © 2020-2023  润新知