So here’s a real simple example of how to use Providers in PHPUnit.
They’re very useful for running the exact same test multiple times but with different data being fed in.
class ScoringTest extends TestCase | |
{ | |
/** | |
* Some Grades | |
*/ | |
public static function all_grades_provider() | |
{ | |
return [ | |
[100.00], | |
[50.00], | |
[0], | |
]; | |
} | |
/** | |
* Grade checks | |
* @dataProvider all_grades_provider | |
* @return void | |
*/ | |
public function test_grade_score_is_correct ($grade) | |
{ | |
// test our total is correct | |
$this->assertEquals($grade, Score::someFunctionWhichAffectsGrade($grade)); | |
} | |
} |