brunty/cigar

用PHP编写的烟雾测试工具。

1.12.4 2023-09-19 12:57 UTC

README

Build Status Coverage Status SensioLabsInsight

symm/vape启发的烟雾测试工具

类似工具包括

安装

通过composer安装

composer require brunty/cigar --dev

通过docker拉取

docker pull brunty/cigar

使用方法

创建一个包含json对象的数组,这些对象指定要检查的urlstatus(可选)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.jsonvendor/bin/cigar --config=file.json选项。

传递要检查的基准URL

如果您希望将相对于网站根目录的URL文件与基准URL进行检查,您可以通过使用vendor/bin/cigar -u http://httpbin.orgvendor/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 -ivendor/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

贡献

这最初是一个小型的个人项目。

虽然这个项目很小,但开放性和包容性被认真对待。为此,已经采纳了行为准则(在贡献指南中列出)。

贡献指南