mattrink/didibreakit

一个基本的烟雾测试库,专为CI使用而设计。

1.0.2 2019-08-23 15:19 UTC

This package is auto-updated.

Last update: 2024-09-24 03:49:21 UTC


README

一个基本的烟雾测试库,专为CI使用而设计

安装

composer require mattrink/didibreakit

用法

./didibreakit tests:run example.yaml

选项

  • -b/--branch branchname 这是为了支持基于分支的测试。如果你的CI流程自动为你的分支创建环境,则可以使用此参数传递分支名称到配置中。然后可以使用%branch%替换在urlPattern选项中。
  • -v/--verbose 启用更深入的日志和详细输出。

配置

配置通过一个YAML文件完成,然后将此文件作为唯一必需的参数传递给命令./vendor/didibreakit tests:run example.yaml。您可以从基本配置的example.yaml开始复制。

在配置文件的options部分,您可以为所有要检查的URL提供一些默认配置。

  • defaultScheme 使用HTTP或HTTPS请求所有URL。
  • urlPattern 匹配URL的模式。%branch是可选的。
  • verifySSL 如果设置为false,则不会验证HTTPS的SSL证书。在使用自签名SSL证书时很有用。
  • defaultURLs 将这些URL应用到所有后续定义的主机配置中。
  • timeout 在请求失败之前允许的最大请求连接和读取超时。
  • failOnTimeout 如果设置为false,则超时不会使整个执行失败。

您可以通过配置中的hosts选项指定要检查的主机和每个主机的URL。您可以为要检查的多个主机和URL指定。主机键将被替换为urlPattern中的%host%占位符。对于每个URL,您还需要指定期望的HTTP状态响应;如果URL返回的状态码与期望不符,则脚本将返回非零状态码。

示例配置

options:
  defaultScheme: 'https'
  urlPattern: '%branch%.%host%'
  verifySSL: false
  timeout: 5
  failOnTimeout: false
  defaultURLs:
    /: 200

hosts:
  example.com:
    scheme: 'https' # You can use scheme to override the defaultScheme above
    urls:
      /news: 200
      /i-expect-this-to-404: 404
  example2.com:
    urls:
      /deals: 200
  example3.com: # Hosts with no URLs will inherit the defaultURLs from above
  example4.com: