naloga/codeception-data-creation

用于运行时测试数据创建的Codeception模块。

v0.1.10 2021-03-22 12:01 UTC

This package is auto-updated.

Last update: 2024-09-22 20:35:41 UTC


README

动机

在编写测试时(尤其是在使用Gherkin场景时),更方便的是将测试的前置条件与测试本身放在一起,而不是放在单独的固定文件中。

该模块允许以单独的测试步骤的形式组织测试数据的创建,这将使得编写这样的测试场景变得更加容易。

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

该模块扩展了标准Doctrine2模块的功能。

使用方法

使用composer安装

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

将模块连接到功能性和/或验收测试套件。

创建数据创建助手模块(每个数据类型一个模块)。每个这样的模块都必须实现Nalogka\Codeception\Database\DataCreatorModuleInterface。模块实例将注入Nalogka\Codeception\Database\DataCreation,并在test suite的配置中指定其依赖关系。

在数据创建助手模块中,创建方法应接收一个字符串标识符作为第一个参数(在测试范围内是唯一的)。在创建数据的方法中,必须使用DataCreation::persistAndRegisterCreated()DataCreation::registerPreviouslyCreated()方法来注册创建的对象。

然后可以在检查步骤中使用DataCreation::getOrCreate()提取所需的数据。

此外,还有辅助方法DataCreation::fillDataPlaceholders(),用于在字符串中插入之前创建的数据的值。