tienvx/ pact-provider-bundle
Pact Provider Bundle
v1.0.4
2024-04-01 16:01 UTC
Requires
- php: ^8.1
- symfony/config: ^5.4|^6.4|7.0
- symfony/dependency-injection: ^5.4|^6.4|7.0
- symfony/http-kernel: ^5.4|^6.4|7.0
Requires (Dev)
- phpunit/phpunit: ^10.1
- symfony/framework-bundle: ^5.4|^6.4|7.0
- symfony/test-pack: ^1.0
Conflicts
README
这个Symfony Bundle 允许使用 Pact PHP 测试Symfony项目。它支持
- 验证发送消息
- 设置提供者状态
- 撤销提供者状态
安装
composer require tienvx/pact-provider-bundle
文档
注册状态处理器
namespace App\StateHandler; use Tienvx\Bundle\PactProviderBundle\Attribute\AsStateHandler; use Tienvx\Bundle\PactProviderBundle\Model\StateValues; use Tienvx\Bundle\PactProviderBundle\StateHandler\SetUpInterface; use Tienvx\Bundle\PactProviderBundle\StateHandler\TearDownInterface; #[AsStateHandler(state: 'A user with id dcd79453-7346-4423-ae6e-127c60d8dd20 exists')] class UserHandler implements SetUpInterface, TearDownInterface { public function setUp(array $params): ?StateValues { return new StateValues([ 'id' => 123, ]); } public function tearDown(array $params): void { } }
注册消息分发器
namespace App\MessageDispatcher; use Tienvx\Bundle\PactProviderBundle\Attribute\AsMessageDispatcher; use Tienvx\Bundle\PactProviderBundle\Model\Message; use Tienvx\Bundle\PactProviderBundle\MessageDispatcher\DispatcherInterface; #[AsMessageDispatcher(description: 'User created message')] class UserDispatcher implements DispatcherInterface { public function dispatch(): ?Message { } }