edno / codeception-dataprovider

[deprecated] Codeception extension for supporting @dataprovider annotation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Codeception DataProvider

Latest Version Dependency Status Build Status SensioLabs Insight Scrutinizer Code Quality Coverage Status GitHub license

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"]
          ];
      }
}

About

[deprecated] Codeception extension for supporting @dataprovider annotation

License:MIT License


Languages

Language:PHP 100.0%