canvural / laravel-e2e-routes
提供一组路由,供您在E2E测试中使用。
Requires
- php: ^7.2
- illuminate/database: ^6.0 || ^7.0
Requires (Dev)
- doctrine/coding-standard: 6.0
- nunomaduro/larastan: ^0.5
- orchestra/testbench: ^4.0 || ^5.0
- phpstan/extension-installer: ^1.0
- phpstan/phpstan-mockery: ^0.12
- phpstan/phpstan-phpunit: ^0.12
- phpunit/phpunit: ^8
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2024-09-19 01:09:03 UTC
README
此包提供了一套规则,帮助您在运行E2E测试时使用Eloquent模型工厂管理数据库状态。
安装
您可以通过composer安装此包
composer require --dev canvural/laravel-e2e-routes
如果您想自定义一些选项,可以使用以下命令发布配置文件
php artisan vendor:publish --provider="Vural\E2ERoutes\E2ERoutesServiceProvider"
这是发布的配置文件内容。在这里,您可以自定义要添加到所有提供路由中的路由前缀、路由名称以及所有模型所在的命名空间。
<?php return [ 'prefix' => 'e2e', 'name' => 'e2e-routes', 'modelNamespace' => 'App\\', ];
使用方法
由于明显的原因,此包不暴露在生产
环境中的路由。在其他环境中,您可以使用这些路由。
重置数据库(GET e2e/reset
)
您可以使用http://localhost/e2e/reset
路由来重置数据库。底层,此路由调用migrate:refresh
Artisan命令。如果您想在迁移后对数据库进行seed
,可以在路由上附加seed
查询字符串。例如:http://localhost/e2e/reset?seed
创建模型(POST e2e/{modelName}
)
此包使用您的Eloquent模型工厂来创建数据。
因此,例如,如果您有一个名为User
的模型和相关的UserFactory
,您可以通过向http://localhost/e2e/user
端点发送POST请求来在数据库中创建一个User
。此外,新创建的模型也将作为端点的响应返回。
您可以将上述示例中的user
替换为您想要的任何模型。如果找不到给定的模型,则返回404
响应。如果模型存在但不存在该模型的工厂,则返回404
响应。
覆盖属性
类似于factory
方法,此包还提供了覆盖模型属性的能力。只需像这样向您的请求添加一个正文
[ 'attributes' => [ 'name' => 'John Doe' ] ]
这将覆盖name
属性。
创建多个模型
您可以使用以下方式指定要创建的模型数量
[ 'times' => 3 ]
这将返回包含3个模型的数组。
使用状态
如果您为工厂定义了一些状态,您可以在请求时使用它们。
[ 'states' => ['withAddress'] ]
这将使用withAddress
状态创建您的模型。如果给定的状态不是端点,则返回404
响应。
全部结合
[ 'attributes' => [ 'name' => 'John Doe', ], 'states' => ['withAddress'], 'times' => 2 ]
您也可以像这样结合选项。
测试
composer test
变更日志
有关最近更改的更多信息,请参阅变更日志。
贡献
有关详细信息,请参阅贡献指南。
安全
如果您发现任何与安全相关的问题,请通过电子邮件can.vural@aequitas-group.pl联系,而不是使用问题跟踪器。
鸣谢
许可
MIT许可(MIT)。有关更多信息,请参阅许可文件。