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 许可证 发布。