tzepart/test-separator

测试分离项目


README

Packagist - https://packagist.org.cn/packages/tzepart/test-separator

俄语版本

描述

可以根据

  1. Codeception 库的 report.xml 将测试分为组
  2. 测试方法的大小(如果前两个不工作,则使用)

此外,分离深度有3个级别

  1. 目录分离
  2. 文件(类)分离
  3. 方法分离(比类和目录更小的分离单元,分离结果更优化)。

安装

composer require tzepart/test-separator

配置

添加配置文件 config/test_separator.yml,内容如下

test_separator:
  separating-strategy: 'default-groups'
  use-default-separating-strategy: false
  codeception-reports-directory: '/path/to/file/with/codeception/reports/'
  tests-directory: '/path/to/project/tests/'
  result-path: '/path/to/project/file/groups/'
  level: 'method'
  test-suites-directories:
      - 'list'
      - 'sub-directories'
      - 'with'
      - 'test-suites'
  default-separating-strategies:
    - 'method-size'
    - 'default-groups'
  default-groups-directory: '/path/to/directory/with/defaults/groups/'

参数 separating-strategy 可以是以下值之一

  • codeception-report
  • method-size

如果参数 use-default-separating-strategy: true,则如果无法使用 codeception-report 策略,我们将尝试使用默认策略(method-sizedefault-groups

参数 tests-directory - 测试所在的目录路径

参数 result-path - 最终分组文件将存储的目录路径

参数 level 可以是以下值之一

  • directory
  • class
  • method

手动运行

./vendor/bin/separate-tests separate 6

其中 "6" 表示组数

为了方便调试,您可以在运行命令时覆盖一些配置参数,即

  • codeception-reports-directory
  • result-path
  • separating-strategy

示例

./separate-tests separate 5 --result-path=/data/tests-separator-data/groups_2/ --codeception-reports-directory=/data/tests-separator-data/reports_2/

开发部分

运行测试

./vendor/bin/phpunit --bootstrap vendor/autoload.php tests