morpet81 / laravel-kahlan
Laravel 应用程序测试的 Kahlan 规范套件
v5.5
2018-01-02 08:56 UTC
Requires
- php: >=7.0
- kahlan/kahlan: ^3.0
- laravel/framework: 5.5.*
- phpunit/phpunit: ~5.0
README
提供直观的 kahlan(基于 jasmine)describe-it 语法和 Laravel 功能测试优点的 Kahlan 测试套件,用于测试 Laravel 应用程序。
如果您通过我的工作节省了时间,您可以在我的 Patreon 页面 上支持我。
在 https://github.com/jarektkaczyk/kahlan-driven-laravel 上查看使用示例
为什么我应该使用这个包以及它是如何工作的?
查看 示例规范
第一步
-
添加到您的项目中
composer require --dev sofa/laravel-kahlan:"~5.4"
-
将此行添加到您的 kahlan 配置文件中(如果需要,请创建它)
/* /path/to/your/app/kahlan-config.php */ <?php Sofa\LaravelKahlan\Env::bootstrap($this);
-
在
/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
-
-
在您的规范中,您可以使用所有 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
祝您编码愉快!