sofa / laravel-kahlan
Kahlan 测试套件,用于测试 Laravel 应用程序
v5.6
2021-04-06 02:36 UTC
Requires
- php: >=7.0
- kahlan/kahlan: ^3.0
- laravel/framework: >=6.20.14
- phpunit/phpunit: ~6.0
README
Kahlan 测试套件,为 Laravel 应用程序测试提供直观的 kahlan(基于 jasmine)描述性语法,以及 Laravel 功能测试功能。
在 https://github.com/jarektkaczyk/kahlan-driven-laravel 上查看使用示例
我应该使用此包吗?它是如何工作的?
查看 示例 spec
首次使用分 3 步
-
添加到您的项目中
composer require --dev sofa/laravel-kahlan:"~5.4"
-
将此行添加到 kahlan 配置文件中(如果需要则创建它)
/* /path/to/your/app/kahlan-config.php */ <?php Sofa\LaravelKahlan\Env::bootstrap($this);
-
在
/spec
文件夹中创建您的第一个 spec,例如/spec/AppSpec.php
,然后使用vendor/bin/kahlan
运行测试套件。工作示例可以在 https://github.com/jarektkaczyk/kahlan-driven-laravel 上找到/* /path/to/your/app/spec/AppSpec.php */ <?php describe('My awesome Kahlan driven Laravel app', function () { it("provides the same testing API as Laravel's own TestCase", function () { $this->laravel->get('/') ->assertSee('Laravel 5') ->assertStatus(200); }); }
可选内容
-
如果您需要自定义测试套件中的 .env 变量,您有 2 种选择
-
在
.env.kahlan
文件中用于持久变量 -
在运行时
/path/to/app$ vendor/bin/kahlan -env=DB_CONNECTION=sqlite,MAIL_DRIVER=log
-
-
在您的 spec 中,您可以使用所有 kahlan 功能,以及 Laravel 测试糖
- 辅助函数:
app()
,event()
等 - 应用程序方法
$this->app->method()
或$this->laravel->method()
- Laravel TestCase 功能,例如
$this->laravel->get('/')->assertResponseOk()
- 应用程序实例 为以下之一:
$this->app === $this->laravel->app === app()
- 辅助函数:
-
对于不需要 Laravel 的测试,有
--no-laravel
命令行选项,因为为每个测试启动应用程序对性能有很大影响/path/to/app$ vendor/bin/kahlan --spec=spec/unit --no-laravel
或者,您可以在
.env
/.env.kahlan
文件中提供NO_LARAVEL=true
,然后您将仅在必要时启用 Laravel/path/to/app$ vendor/bin/kahlan --spec=spec/functional --no-laravel=false
#快乐的编码!