edno / codeception-dataprovider
Codeception extension for supporting data-driven tests
Requires
- php: >=5.4
- codeception/codeception: >=2.2 <2.2.7
Requires (Dev)
- satooshi/php-coveralls: ^1.0
This package is auto-updated.
Last update: 2022-02-01 13:03:33 UTC
README
The Codeception extension for supporting dynamic data driven tests (CEST) using @dataprovider
annotation.
‼️ This extension is deprecated from Codeception 2.2.7. The @dataprovider
annotation is now a core feature of Codeception (see PR#3737)
‼️ If you are running Codeception 2.2.7, then remove this extension by deleting the corresponding line in composer.json
and your codeception.yml
. No update required for existing tests using @dataprovider
Minimum Requirements
- Codeception 2.2
- PHP 5.4
Installation
The extension can be installed using Composer
$ composer require edno/codeception-dataprovider
Be sure to enable the extension in codeception.yml
as shown in
configuration below.
Configuration
Enabling DataProvider annotation in your tests is done in codeception.yml
.
extensions: enabled: - Codeception\Extension\DataProvider
Usage
Once installed you will be to use the @dataprovider
annotation for defining the
method to be use for fetching the test data.
Your data source must be a public static function located within your test class.
The method should return data compliant with the @example
annotation.
Example
<?php class ExampleDataProviderCest { /** * @dataprovider __myDataSource */ public function testWithDataProvider(FunctionalTester $I, \Codeception\Example $example) { $expected = ["", "foo", "bar", "re"]; $I->assertInternalType('integer', $example[0]); $I->assertEquals($expected[$example[0]], $example[1]); } public static function __myDataSource() { return [ [1, "foo"], [2, "bar"], [3, "re"] ]; } }