PHPackages                             tzepart/test-separator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. tzepart/test-separator

ActiveLibrary[Testing &amp; Quality](/categories/testing)

tzepart/test-separator
======================

Project for separating of tests

4.1.0(5y ago)02[1 issues](https://github.com/TzepART/tests-separator/issues)MITPHPPHP &gt;=7.1CI failing

Since Dec 17Pushed 5y ago1 watchersCompare

[ Source](https://github.com/TzepART/tests-separator)[ Packagist](https://packagist.org/packages/tzepart/test-separator)[ Docs](https://github.com/TzepART/test-separator.git)[ RSS](/packages/tzepart-test-separator/feed)WikiDiscussions master Synced today

READMEChangelog (10)Dependencies (7)Versions (31)Used By (0)

Test Group Separator
====================

[](#test-group-separator)

Packagist -

[Версия на русском](README-RUS.md)

Description:
------------

[](#description)

It is possible to divide the tests into groups based on:

1. report.xml of [Codeception](https://codeception.com/) library
2. The size of the test methods (used if the first 2 do not work)

In addition, the separation depth has 3 levels:

1. Separation of directories
2. Separation of files (classes)
3. Separation by separate methods Than smaller the division unit (method &lt; class &lt; directory) that more optimized the division result.

Installation
------------

[](#installation)

```
composer require tzepart/test-separator

```

### Configuration

[](#configuration)

Add configuration file `config/test_separator.yml`, which contents:

```
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/'
```

Parameter **separating-strategy** can be one of these values:

- codeception-report
- method-size

If parameter **use-default-separating-strategy: true** than, if we can't use **codeception-report** strategy we'll try use default strategies (**method-size** or **default-groups**)

Parameter **tests-directory** - path to directory where is yours tests

Parameter **result-path** - path to directory where final groups files will be

Parameter **level** can be one of these values:

- directory
- class
- method

Manual running
--------------

[](#manual-running)

```
./vendor/bin/separate-tests separate 6

```

Where "6" - groups count

For the convenience of debugging, you can overwrite some configuration parameters when running the command, namely:

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

Example:

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

```

Develop section
---------------

[](#develop-section)

Run test

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

```

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~19 days

Recently: every ~13 days

Total

23

Last Release

1917d ago

Major Versions

0.1.1 → 1.0.02020-06-04

1.0.0 → 2.0.12020-06-08

2.1.5 → 3.0.02020-10-09

3.1.0 → 4.0.02020-12-16

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/10636031?v=4)[Tsepkov Artem](/maintainers/tzepart)[@tzepart](https://github.com/tzepart)

---

Top Contributors

[![tzepart](https://avatars.githubusercontent.com/u/10636031?v=4)](https://github.com/tzepart "tzepart (61 commits)")

---

Tags

bamboocodeceptionphpcodeceptiontestsalluretests groups

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/tzepart-test-separator/health.svg)

```
[![Health](https://phpackages.com/badges/tzepart-test-separator/health.svg)](https://phpackages.com/packages/tzepart-test-separator)
```

###  Alternatives

[infection/infection

Infection is a Mutation Testing framework for PHP. The mutation adequacy score can be used to measure the effectiveness of a test set in terms of its ability to detect faults.

2.2k26.2M1.8k](/packages/infection-infection)[phpbench/phpbench

PHP Benchmarking Framework

2.0k13.0M627](/packages/phpbench-phpbench)[phpspec/phpspec

Specification-oriented BDD framework for PHP 7.1+

1.9k36.7M3.1k](/packages/phpspec-phpspec)[magento/magento2-functional-testing-framework

Magento2 Functional Testing Framework

15511.5M30](/packages/magento-magento2-functional-testing-framework)[allure-framework/allure-codeception

Allure Codeception integration

5212.1M7](/packages/allure-framework-allure-codeception)[mcustiel/phiremock-codeception-extension

Codeception extension for Phiremock. Allows to stub remote services for HTTP requests.

311.0M5](/packages/mcustiel-phiremock-codeception-extension)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
