bigfoot90/phpacto

集成Guzzle和Phpunit的契约测试工具

维护者

详细信息

github.com/PHPacto/PHPacto

源代码

安装量: 2,458

依赖: 0

建议者: 0

安全性: 0

星标: 5

关注者: 2

分支: 3

类型:项目

0.5.4 2023-08-08 17:24 UTC

README

API和微服务的契约测试解决方案

如果您想了解更多关于契约测试的信息,请参阅这里这里

License Build Status CodeCov Scrutinizer Quality Score Codacy Quality Grade Latest Stable Version Total Downloads

Docker Build Status Docker Image Size Docker Pulls Docker Stars

免责声明:这是一个正在进行中的工作。代码可能在发布版本1.0.0之前受到任何更改的影响,而不考虑BC(向后兼容性)。请使用问题跟踪器报告您遇到的任何增强或问题。

您可以在examples目录中找到一些契约示例。

独立CLI使用

首先,克隆此存储库 git clone git@github.com:PHPacto/PHPacto.git 并使用composer安装依赖项 composer install

验证

使用

bin/phpacto validate path-to/directory-or-single-file

cURL命令生成器验证您的契约

使用契约生成cURL命令

bin/phpacto curl path-to/directory-or-single-file

建议:可以使用phpdotenv从文件加载环境变量。

与Docker一起使用

验证

使用

docker run -it --rm \
    -v $PWD/contracts:/srv/data \
    -e CONTRACTS_DIR=data \
    -p 8000:8000 \
    phpacto/mock-server \
    validate

cURL命令生成器验证您的契约

使用契约生成cURL命令

docker run -it --rm \
    -v $PWD/contracts:/srv/data \
    -e CONTRACTS_DIR=data \
    -p 8000:8000 \
    phpacto/mock-server \
    curl

服务器模拟

请参阅https://github.com/PHPacto/mock-server

模拟代理记录器

请参阅https://github.com/PHPacto/recorder

测试您的应用程序

兼容性表

如果您的项目满足这些要求,您可以通过运行 composer require --dev bigfoot90/phpacto 使用phpunit测试您的契约,否则您需要使用PHPacto的CLI运行契约测试,这速度较慢但可以与任何类型的应用程序一起工作。

与PHPUnit集成

如果您的测试结束时有太多冗长的跟踪日志,那么您的TestCase可能没有扩展自Bigfoot\PHPacto\Test\PHPUnit\PHPactoTestCase,因此在setUp方法中添加此行

PHPUnit\Util\Blacklist\Blacklist::$blacklistedClassNames[__CLASS__] = 1;

请参阅这个Gist https://gist.github.com/bigfoot90/d4f146bacad359329d219a804f6cd12a。有两个不同的测试文件 ConsumerTest.phpProviderTest.php

使用PHPacto契约规则掌握

请参阅专门的页面这里

贡献

欢迎通过打开pull请求来贡献。修复错误或提出功能建议始终受欢迎。