Las pruebas de unidad permiten asegurar que una parte del código cumple correctamente con sus funciones.
A continuación se muestra como realizar pruebas del servidor con PHPunit.
En la práctica, los sistemas deben pasar todas las pruebas. En este ejemplo se fallan algunas.
Esta salida muestra algunos fallos para que te des cuenta como se ven. En la práctica, todas la pruebas deben aprobarse.
PHPUnit 10.5.5 by Sebastian Bergmann and contributors. Runtime: PHP 8.2.7 ..F 3 / 3 (100%) Time: 00:00.091, Memory: 8.00 MB There was 1 failure: 1) RecomiendaTest::testReg2 Probando reg 2 Failed asserting that two strings are equal. --- Expected +++ Actual @@ @@ -'Daddy Yankee.' +'Bad Bunny.' /home/runner/phpunit/tests/RecomiendaTest.php:19
Este ejercicio usa la librería PHPUnit para PHP. Puedes profundizar en este tema en la URL https://phpunit.de/
Descarga el archivo /src/phpunit.zip y descompáctalo.
Abre la carpeta descompactada con Visual Studio Code.
Edita los archivos que que desees.
El proyecto ya contiene la carpeta vendor
y el
archivo composer.lock
, pero si quieres crearlos, debes seguir estos
pasos:
Instalar composer. Para Windows, usa el instalador de https://getcomposer.org/download/.
Abre una terminal y ejecuta el comando
composer update
Abre una terminal y ejecuta el comando
./vendor/bin/phpunit tests
Haz clic en los triángulos para expandir las carpetas
1 | <?php |
2 | |
3 | function recomienda(string $genero): string |
4 | { |
5 | if ($genero === "pop") { |
6 | return "Dua Lipa."; |
7 | } elseif ($genero === "reg") { |
8 | return "Bad Bunny."; |
9 | } else { |
10 | return "De eso no conozco"; |
11 | } |
12 | } |
13 |
1 | <?php |
2 | |
3 | use PHPUnit\Framework\TestCase; |
4 | |
5 | require_once __DIR__ . "/../src/recomienda.php"; |
6 | |
7 | final class RecomiendaTest extends TestCase |
8 | { |
9 | public function testPop() |
10 | { |
11 | $this->assertEquals("Dua Lipa.", recomienda("pop"), "Probando pop"); |
12 | } |
13 | public function testReg() |
14 | { |
15 | $this->assertEquals("Bad Bunny.", recomienda("reg"), "Probando reg"); |
16 | } |
17 | public function testReg2() |
18 | { |
19 | $this->assertEquals("Daddy Yankee.", recomienda("reg"), "Probando reg 2"); |
20 | } |
21 | } |
22 |
1 | { |
2 | "require-dev": { |
3 | "phpunit/phpunit": "^10" |
4 | } |
5 | } |
1 | -- No se muestra eñ contenido de este archivo -- |
1 |