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
}