brunty / cigar
用PHP编写的烟雾测试工具。
Requires
- php: >=7.0
- ext-curl: *
- ext-json: *
Requires (Dev)
- kahlan/kahlan: ^4.0
- mikey179/vfsstream: ^1.6
- satooshi/php-coveralls: ^1.0
- symfony/process: ^3.3
README
受symm/vape启发的烟雾测试工具
类似工具包括
安装
通过composer安装
composer require brunty/cigar --dev
通过docker拉取
docker pull brunty/cigar
使用方法
创建一个包含json对象的数组,这些对象指定要检查的url
、status
(可选)content
和(可选)content-type
的.cigar.json
文件。
[
{
"url": "http://httpbin.org/status/418",
"status": 418,
"content": "teapot"
},
{
"url": "http://httpbin.org/status/200",
"status": 200,
"content-type": "text/html"
},
{
"url": "http://httpbin.org/status/304",
"status": 304
},
{
"url": "http://httpbin.org/status/500",
"status": 500
}
]
通过composer安装时
运行vendor/bin/cigar
以检查每个URL返回预期的状态码。
通过docker拉取时
运行docker run -v $(pwd):/app --rm brunty/cigar
以检查每个URL返回预期的状态码。
> vendor/bin/cigar
✓ http://httpbin.org/status/418 [418:418] teapot
✓ http://httpbin.org/status/200 [200:200] [text/html:text/html]
✓ http://httpbin.org/status/304 [304:304]
✓ http://httpbin.org/status/500 [500:500]
输出行的格式是
pass/fail url [expected_code:actual_code] [optional_expected_content-type:optional_actual_content-type] optional_text
如果所有测试通过,返回码$?
将是0
- 如果任何测试未返回预期的状态码,则返回码将是1
安静测试模式
如果您希望抑制测试运行的输出,请将--quiet
选项传递给命令:vendor/bin/cigar --quiet
替代配置文件
如果您希望使用替代配置文件,请在运行命令时使用vendor/bin/cigar -c file.json
或vendor/bin/cigar --config=file.json
选项。
传递要检查的基准URL
如果您希望将相对于网站根目录的URL文件与基准URL进行检查,您可以通过使用vendor/bin/cigar -u http://httpbin.org
或vendor/bin/cigar --url=http://httpbin.org
来实现。
然后您的配置文件可以包含以下URL
- 与之前相同的完整绝对URL(cigar在检查绝对URL时不会使用基准URL)
[
{
"url": "http://httpbin.org/status/418",
"status": 418,
"content": "teapot"
}
]
- 相对于您指定的基准URL的URL,无论是带斜杠还是不带斜杠。
[
{
"url": "/status/418",
"status": 418,
"content": "teapot"
},
{
"url": "status/418",
"status": 418,
"content": "teapot"
}
]
禁用SSL证书验证
如果您希望在不检查SSL证书的情况下运行工具,请使用命令的-i
或--insecure
选项:vendor/bin/cigar -i
或vendor/bin/cigar --insecure
仅在绝对必要时使用此选项。
传递授权头
如果您希望添加授权头,请使用命令的-a
或--auth
选项:vendor/bin/cigar -a "Basic dXNyOnBzd2Q="
或vendor/bin/cigar --auth="Basic dXNyOnBzd2Q="
传递自定义头
如果您希望添加任何自定义头,请使用命令的-h
或--header
选项:vendor/bin/cigar -h "Cache-control: no-cache"
或vendor/bin/cigar --header="Cache-control: no-cache"
命令帮助 & 命令版本
如果您想查看Cigar的所有可用选项,请使用命令:vendor/bin/cigar --help
如果您想查看您使用的Cigar版本,请使用命令:vendor/bin/cigar --version
贡献
这最初是一个小型的个人项目。
虽然这个项目很小,但开放性和包容性被认真对待。为此,已经采纳了行为准则(在贡献指南中列出)。