PHPackages                             nalogka/codeception-data-creation - 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. nalogka/codeception-data-creation

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

nalogka/codeception-data-creation
=================================

Codeception module for runtime test data creation.

v0.1.10(5y ago)05.2kMITPHPPHP ^7.1.3

Since Mar 28Pushed 5y ago1 watchersCompare

[ Source](https://github.com/nalozhka/codeception-data-creation)[ Packagist](https://packagist.org/packages/nalogka/codeception-data-creation)[ RSS](/packages/nalogka-codeception-data-creation/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (1)Dependencies (5)Versions (12)Used By (0)

Модуль Codeception для создания данных для теста в виде шагов теста
===================================================================

[](#модуль-codeception-для-создания-данных-для-теста-в-виде-шагов-теста)

### Мотивация

[](#мотивация)

При написании теста (особенно при использовании [Gherkin-сценариев](https://codeception.com/docs/07-BDD#gherkin)) удобнее видеть предусловия теста рядом с самим тестом, а не в отдельных файлах фикстур.

Данный модуль позволяет организовать создание данных для теста в виде отдельных шагов теста, что позволит писать такие тестовые сценарии:

```
# language: ru
Функционал: Персоны. Обновление
  Сценарий: Ошибка обновления. Некорректные данные
    Пусть существует контрагент-персона "Иван Иванов"
    Если пришел запрос PUT /people/{id персоны "Иван Иванов"} с телом:
      """
      {
        "firstName": "",
      }
      """
    То HTTP-код ответа будет 400
    А в БД должна быть контрагент-персона с данными:
      """
      {
        "firstName": "Иван",
      }
      """
  Сценарий: Ошибка обновления. Не уникальная персона
    Пусть существует контрагент-персона с паспортом "10-01 123456"
    И существует контрагент-персона "Иван"
    Если пришел запрос PUT /people/{id персоны "Иван"} с телом:
      """
      {
        "passport": "10-01 123456",
      }
      """
    То HTTP-код ответа будет 400
```

Модуль расширяет функционал стандартного [Doctrine2 модуля](https://codeception.com/docs/modules/Doctrine2).

### Использование

[](#использование)

Устанавливайте с использованием `composer`

```
composer require --dev nalogka/codeception-data-creation
```

Подключайте модуль в функциональный и/или приемочный test suite.

Создавайте модули-хэлперы для создания данных (по одному модулю на каждый тип данных). Каждый такой модуль должен реализовывать `Nalogka\Codeception\Database\DataCreatorModuleInterface`. В экземпляр модуля внедряется `Nalogka\Codeception\Database\DataCreation` и в конфигурации test suite указывается зависимость от него.

В модуле-хэлпере создания данных должен быть метод создания, первым аргументом в который приходит строковой идентификатор данных (уникальный в рамках теста). В методе создания данных созданный объект необходимо зарегистрировать, используя методы `DataCreation::persistAndRegisterCreated()` или `DataCreation::registerPreviouslyCreated()`.

Далее в шагах проверки можно извлекать необходимые данные, используя `DataCreation::getOrCreate()`.

Также есть вспомогательный метод `DataCreation::fillDataPlaceholders()`для подстановки в строку значений полей ранее созданных данных.

###  Health Score

29

—

LowBetter than 59% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity19

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 75% 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 ~109 days

Recently: every ~138 days

Total

11

Last Release

1883d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/a274917dd793923db7474f0a94256abc0e94ee70e527d26f23f481ff5dd61249?d=identicon)[AntonTyutin](/maintainers/AntonTyutin)

![](https://www.gravatar.com/avatar/97c0a1002cce2dabcb9ba51b6833fdbfaf462bdc4ca8e2af8d91c9927e5bdc91?d=identicon)[hitslab](/maintainers/hitslab)

![](https://www.gravatar.com/avatar/752601ac80be7ab71bb301a0e400abdd935c971c1099f7b81100f9aa6301621b?d=identicon)[klee-dev](/maintainers/klee-dev)

---

Top Contributors

[![AKonnov](https://avatars.githubusercontent.com/u/19725844?v=4)](https://github.com/AKonnov "AKonnov (15 commits)")[![ultonic](https://avatars.githubusercontent.com/u/2461219?v=4)](https://github.com/ultonic "ultonic (3 commits)")[![AntonTyutin](https://avatars.githubusercontent.com/u/548575?v=4)](https://github.com/AntonTyutin "AntonTyutin (2 commits)")

### Embed Badge

![Health badge](/badges/nalogka-codeception-data-creation/health.svg)

```
[![Health](https://phpackages.com/badges/nalogka-codeception-data-creation/health.svg)](https://phpackages.com/packages/nalogka-codeception-data-creation)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[api-platform/core

Build a fully-featured hypermedia or GraphQL API in minutes!

2.6k48.1M236](/packages/api-platform-core)[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k16.7M310](/packages/easycorp-easyadmin-bundle)[nelmio/alice

Expressive fixtures generator

2.5k43.4M133](/packages/nelmio-alice)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[zenstruck/foundry

A model factory library for creating expressive, auto-completable, on-demand dev/test fixtures with Symfony and Doctrine.

78611.9M97](/packages/zenstruck-foundry)

PHPackages © 2026

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