Appliquer la notion : mettre en place le système de Data Provider PHPUnit
Question
Reprenez votre classe CalculatriceTest
pour y intégrer une méthode fournisseuse de données renvoyant un tableau de 3 tableaux pour tester le carré des valeurs 2, 4 et 5.
Utilisez l'annotation @dataProvider
pour préciser à votre méthode de test la méthode fournisseuse de données précédemment mise en place.
Utilisez la méthode assertSame()
pour tester les différentes valeurs ainsi fournies.
Solution
1
<?php
2
# tests/Util/CalculatriceTest.php
3
namespace Tests\Util;
4
5
use App\Util\Calculatrice;
6
use PHPUnit\Framework\TestCase;
7
8
class CalculatriceTest extends TestCase {
9
/**
10
* @dataProvider carreProvider
11
*/
12
public function testCarre($n, $expected) {
13
$calculatrice = new Calculatrice();
14
$this->assertSame($expected, $calculatrice->carre($n));
15
}
16
17
public function carreProvider()
18
{
19
return [
20
[2, 4],
21
[4, 16],
22
[5, 25]
23
];
24
}
25
}