milroyfraser / pest-plugin-gwt
Pest 的 Given When Then (GWT) 插件
v2.0.0
2024-09-26 07:59 UTC
Requires
- php: ^8.2
- pestphp/pest: ^3.0
- pestphp/pest-plugin: ^3.0
Requires (Dev)
- pestphp/pest-dev-tools: ^3.0.0
This package is auto-updated.
Last update: 2024-09-26 08:04:01 UTC
README
一个简单的 API 允许您结构化测试,专注于行为。Given-When-Then 的分离使测试更容易一目了然。
安装
composer require milroyfraser/pest-plugin-gwt --dev
用法
use App\Exceptions\BlockedUserException; use App\Models\User; use function Pest\Gwt\scenario; use function Pest\Laravel\assertDatabaseHas; scenario('activate user') ->given(fn() => User::factory()->create()) ->when(fn(User $user) => $user->activate()) ->then(fn(User $user) => assertDatabaseHas('users', [ 'id' => $user->id, 'activated' => true, ])); scenario('activate blocked user') ->given(fn() => User::factory()->blocked()->create()) ->when(fn(User $user) => $user->activate()) ->throws(BlockedUserException::class);
Given 一个状态
Given 方法接受一个 Closure
。这是我们 Arrange
应用程序状态的地方。返回值将成为 when
闭包的参数。
When 我做某事
When 方法接受一个 Closure
。这是我们 Act
(执行)操作的地方。返回值将成为 then
闭包的参数。
Then 我期望一个结果
Then 方法接受一个 Closure
。这是我们 Assert
结果的地方。
如果您想开始使用 Pest 测试您的应用程序,请访问主 Pest 仓库。
- 探索文档: pestphp.com/docs/plugins/creating-plugins »
- 在 Twitter 上关注我们: @pestphp »
- 加入我们的 Discord 服务器: discord.gg/bMAJv82 »
Pest 由 Nuno Maduro 创建,并受 Sponsorware 许可证 的约束。它已开源,并现在根据 MIT 许可证 发布。