Fork me on GitHub
a Sensio Labs Product

Persian Successor (v3.65.0) edition

Rule php_unit_data_provider_name

Data provider names must match the name of the test.

Warning

Using this rule is risky

Fixer could be risky if one is calling data provider by name as function.

Configuration

prefix

Prefix that replaces “test”.

Allowed types: string

Default value: 'provide'

suffix

Suffix to be present at the end.

Allowed types: string

Default value: 'Cases'

Examples

Example #1

Default configuration.

--- Original
+++ New
 <?php
 class FooTest extends TestCase {
     /**
-     * @dataProvider dataProvider
+     * @dataProvider provideSomethingCases
      */
     public function testSomething($expected, $actual) {}
-    public function dataProvider() {}
+    public function provideSomethingCases() {}
 }

Example #2

With configuration: ['prefix' => 'data_', 'suffix' => ''].

--- Original
+++ New
 <?php
 class FooTest extends TestCase {
     /**
-     * @dataProvider dt_prvdr_ftr
+     * @dataProvider data_feature
      */
     public function test_feature($expected, $actual) {}
-    public function dt_prvdr_ftr() {}
+    public function data_feature() {}
 }

Example #3

With configuration: ['prefix' => 'provides', 'suffix' => 'Data'].

--- Original
+++ New
 <?php
 class FooTest extends TestCase {
     /**
      * @dataProvider dataProviderUsedInMultipleTests
      */
     public function testA($expected, $actual) {}
     /**
      * @dataProvider dataProviderUsedInMultipleTests
      */
     public function testB($expected, $actual) {}
     /**
-     * @dataProvider dataProviderUsedInSingleTest
+     * @dataProvider providesCData
      */
     public function testC($expected, $actual) {}
     /**
      * @dataProvider dataProviderUsedAsFirstInTest
      * @dataProvider dataProviderUsedAsSecondInTest
      */
     public function testD($expected, $actual) {}

     public function dataProviderUsedInMultipleTests() {}
-    public function dataProviderUsedInSingleTest() {}
+    public function providesCData() {}
     public function dataProviderUsedAsFirstInTest() {}
     public function dataProviderUsedAsSecondInTest() {}
 }

Rule sets

The rule is part of the following rule set:

References

The test class defines officially supported behaviour. Each test case is a part of our backward compatibility promise.