标签: Laravel


Laravel 结合数据库做PHP单元测试,并且 migrate 和 seed 只做一次

作者: 我不是鱼 (2018-11-13 13:55) 分类: PHP    

做测试的时候难免要结合数据库来测试,为了不影响现有数据及保持测试数据的完整性,一般是每次测试的时候创建一个新的测试数据库,并把写好的测试数据导入。这里就要用到 Laravel 的 Migrations 和 Seeding,请参考:
https://laravel.com/docs/master/migrations
https://laravel.com/docs/master/seeding

Laravel 已经整合 PHPunit,我们要做的就是建好测试数据库及表,导入测试数据,写测试函数。这里为了测试方便,用 sqlite 代替 MySQL 做测试数据库,避免每次都要启动 MySQL 来测试的麻烦。

首先在 database 目录下创建一个 testing.database.sqlite 文件作为 sqlite 数据库文件

touch database/testing.database.sqlite


然后在 config/database.php 的 connections 中加入测试数据库

  ...

查看原文


Laravel No supported encrypter found. The cipher and / or key length are invalid.

作者: 我不是鱼 (2016-06-26 09:17) 分类: PHP    

克隆了一个Laravel的项目到本地,运行是出现这个错误:

RuntimeException in EncryptionServiceProvider.php line 29:
No supported encrypter found. The cipher and / or key length are invalid.

这个是因为项目根目录下的 .env 文件中的 APP_KEY 没设置对,默认是 APP_KEY=SomeRandomString,这个要改成自己的,但也不是随便改就行,Laravel 有提供可以通过命令行生成这个 key,在项目根目录下执行:

php artisan key:generate

完成后 .env 文件中的 APP_KEY 被修改成类似:

APP_KEY=4Hdy4BkW5JB0IyYAM9z7eV6HTtoXtX1c

至于这个命令做了什么,可以看这里 \Illuminate\Foundation\Console\KeyGenerateCommand :

$key = $th...

查看原文


[1]