naloga / codeception-data-creation
用于运行时测试数据创建的Codeception模块。
v0.1.10
2021-03-22 12:01 UTC
Requires
- php: ^7.1.3
- symfony/doctrine-bridge: ^4.2
- symfony/property-access: ^2.0||^3.0||^4.0
- symfony/property-info: ^4.2
Requires (Dev)
- codeception/base: ^2.4
- doctrine/orm: ^2.6
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()
,用于在字符串中插入之前创建的数据的值。