lamoda / codeception-kafka
该包已被废弃,不再维护。未建议替代包。
Codeception 测试的 Kafka 辅助工具
0.0.2
2021-03-02 14:39 UTC
Requires
- php: >=7.1
- ext-rdkafka: ^3 || ^4
- codeception/codeception: ^2.5 | ^3.0 | ^4.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.13
- kwn/php-rdkafka-stubs: ^1.1.0
This package is auto-updated.
Last update: 2023-05-29 01:40:17 UTC
README
本模块尚未准备好用于生产环境
此扩展支持与 Apache Kafka 一起工作。
安装
-
安装库
composer require lamoda/codeception-kafka
-
为您的数据传输对象创建消息序列化器
namespace Tests\KafkaModule;
use App\EventBus\DtoInterface;
use Lamoda\Codeception\Extension\MessageSerializer\MessageSerializerInterface;
class AcmeMessageSerializer implements MessageSerializerInterface
{
public function serialize($dto): string
{
if (!$dto instanceif DtoInterface) {
throw new \RuntimeException('This value must be an ' . DtoInterface::class);
}
$message = json_encode($dto->toArray());
if (!is_string($message)) {
throw new \RuntimeException(json_last_error(), json_last_error_msg());
}
return $message;
}
}
默认消息序列化器是 Lamoda\Codeception\Extension\MessageSerializer\ArrayMessageSerializer。
- 包含到套件中并配置
modules: enabled: - \Lamoda\Codeception\Extension\KafkaModule serializer: 'Tests\KafkaModule\AcmeMessageSerializer' config: metadata.broker.list: '192.168.99.100:9092' group.id: 'group_for_tests' topic_config: offset.store.sync.interval.ms: '0' auto.commit.interval.ms: '500' auto.offset.reset: 'smallest'
开发
PHP 编码规范修复器
make php-cs-check make php-cs-fix
测试
单元测试
make test-unit