A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Iniciando nuestro proyecto

6/16
Recursos

Aportes 76

Preguntas 26

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

Para los usuarios de windows deben agregar al inicio php, quedando de la siguiente manera:

php vendor/phpunit/phpunit/phpunit

c贸digo para lo que va dentro de phpunit

<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php" colors="true">
    <testsuite name="Test Directory">
         <directory>tests</directory>
    </testsuite>
</phpunit>

Estoy usando Windos 10 y tuve que utilizar el comando as铆:

php vendor/phpunit/phpunit/phpunit

Adem谩s, tuve que crear el directorio tests de forma manual.

Despu茅s obtuve el mensaje: No tests executes; tal como en la clase.

Hola, para las personas que les sale un error tiene que instalar primero xml

sudo apt install php-xml

y luego si ejecutan el comando

composer require --dev phpunit/phpunit 

Exitos y Nunca Paren De Aprender

DATO IMPORTANTE
1-Para los que se hayan olvidado del curso previo a este (fundamentos de PHP) hay que iniciar el archivo de autoload con composer dump por eso sale un error en la consola a algunos.
2-Para los que est茅n en windows ejecuten php vendor/phpunit/phpunit/phpunit y funcionar谩
Adjunto una imagen del error en el punto 1:
![](

Iniciando nuestro proyecto

PHP, Composer, PHPUnit

<h3>Comenzando 馃殌</h3>

Ahora vamos a seguir los siguientes pasos para dar inicio a nuestro proyecto y su configuraci贸n inical.

Agregamos phpunit con la consola abierta en la carpeta raiz que usaremos para el proyecto.

<h4>Ejecutamos en la consola 馃搵</h4>
composer require --dev phpunit/phpunit

Autom谩tcamente composer crea la carpeta vendor/, y los archivos composer.json y composer.lock

Ahora vamos a configurar el archivo composer.json con el autoload, escribiendo los siguientes datos dentro del archivo composer.json

{
    "name": "sebasvillegas/validate",
    "description": "Proyecto de validaci贸n",
    "autoload": {
        "psr-4": {
            "App\\":"src/"
        }
    },
    "require-dev": {
        "phpunit/phpunit": "^9.5"
    }
}
<h4>Instalaci贸n 馃敡</h4>

Creamos el archivo phpunit.xml en la carpeta ra铆z

touch phpunit.xml

Escribimos en el archivo phpunit.xml la siguiente configuraci贸n

Esta es una configuraci贸n gen茅rica.

<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php" colors="true">
    <testsuite name="Test Directory">
         <directory>tests</directory>
    </testsuite>
</phpunit>

Hay que tener en ceunta que debemos crear el directorio que referenciamos en la configuraci贸n del archivo anterior tests.

mkdir tests

En la carpeta vamos a crer las calses de prueba que vamos a trabjar o validadr

Creamos la clase con la que vamos a realizar el test con la siguiente estructura de nombre NombreClaseTest.php

test/NombreClaseTest.php

//Crea el archivo
touch tests/ValidateTest.php

//Abrir con Visual Studio Code
code tests/ValidateTest.php 

Ahora vamos a configurar la calse de configuraci贸n con el siguiente c贸digo

<?php

use PHPUnit\Framework\TestCase;
use App\Validate;

class ValidateTest extends TestCase
{
    public function test_email()
    {
        $email = Validate::email('[email protected]');
        $this->assertTrue($email);
    }
}

En este paso creamos la carpeta src/ a la que hace referencia el namespace App

mkdir src

luego creamos el archivo con la clase que vamos a usar, siguiendo la teor铆a de nombres, en este caso no le agregamos test al final: NombreClase.php.

//Crea el archivo
touch src/Validate.php

//Abre el archivo con vsCode
code src/Validate.php

_Escrivimos la clase con sus funciones como se muestra a continuaci贸n, retornando un boolean como validaci贸n o resultado del test. La funci贸n creada debe ser static function _

<?php

namespace App;

class Validate
{
     public static function email($value)
     {
        return (bool) filter_var($value, FILTER_VALIDATE_EMAIL);
     }
}

Finalmente ejecutamos la prueba en la consola con el siguiente comando

vendor/phpunit/phpunit/phpunit
<h3>Ejecutando las pruebas 鈿欙笍</h3>

El comando anterior ejecutar谩 la prueba y nos lanzar谩 el mensaje de validaci贸n o error correspondeinte. Se sugiere por buenas practicas ejecutar la validaci贸n antes de crear la calse, y durante la creaci贸n de la calse, as铆 nos aseguramos de reconocer el valor negativo o de error. Nos debe aparecer algo similar a lo que se muestra ac谩:

Error: Call to undefined method App\Validate::email()

C:\xampp\htdocs\prueba\tests\ValidateTest.php:10

ERRORS!
Tests: 1, Assertions: 0, Errors: 1.

Este ser铆a el resultado al ejecutar el comando cuando la funci贸n se sncuentr茅 creada correctamente

.                                                                   1 / 1 (100%)

Time: 00:00.060, Memory: 6.00 MB

OK (1 test, 1 assertion)
<h3>Construido con 馃洜锔</h3>

PHP, Composer, PHPUnit

  • PHP - Lenguaje del lado del servidor.
  • Composer - Manejador de dependencias
  • PHP Unit - Usado para pruebas unitarias
<h3>Contribuyendo 馃枃锔</h3> <h3>Autores 鉁掞笍</h3>

Este proyecto es una recopilaci贸n de una de las calses de @platzi, dictado por el profesor Italo Morales

  • Team Platzi - Videos y cursos - platzi
  • Italo Morales - Docente - [ @italomoralesf](#Curso de Manejo de Datos en PHP)
  • Sebasti谩n Villegas - Documentaci贸n - @jsvjava
<h3>Expresiones de Gratitud 馃巵</h3>
  • Gracias a Italo Morales, al Team Platzi y a todos los que participaron en la creaci贸n de los cursos馃.

Un peque帽o resumen

  1. instalar phpunit para iniciar el proyecto
composer required --dev phpunit/phpunit
  1. Configurar el archivo composer.json
  • Configurar nombre 鈥減roveedor/nombredelcomponenete鈥
  • Configurar descripci贸n
  • Configurar autocarga con psr-4, para cargar archivos y clases.
  • Luego configurar el namespace para no estar configurando todas las rutas de forma manual
{
    "name": "damuelas/validate",
    "description": "Proyecto de validaci贸n",
    "autoload": {
        "psr-4": {
            "App\\": "src"
        }
    },
    "require-dev": {
        "phpunit/phpunit": "^9.4"
    }
}
  1. Dar de alta la configuraci贸n del autoload
composer dump
  1. Cuando se trabaja con pruebas en php se trabaja con una unidad llamada phpunit por ello se necesita crear el XML
  • Configurar archivo de arranque, el autoload
  • Colores que se muestren al momento de ejecutar
  • Textsuit 鈫 configurar carpeta en la que se va ha estar trabajando y se le pone un nombre cualquiera
  • nombre del directorio
<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php" colors="true">
    <testsuite name="Test Directory">
         <directory>tests</directory>
    </testsuite>
</phpunit>
  1. Para ejecutarlo
vendor/phpunit/phpunit/phpunit

A煤n no se tienen test para ejecutarlos

  1. Crear carpeta tests
  • Dentro de est谩 carpeta, creamos el archivo ValidateTest.php, el estandar dice que debe terminar en test.
<?php

use PHPUnit\Framework\TestCase;
use App\Validate;

class ValidateTest extends TestCase{
	public function test_email(){
		$email = Validate::email('[email protected]');
		$this->assertTrue($email);
	}
}
  1. Luego hacemos ejecutamos el comando, para las pruebas
vendor/phpunit/phpunit/phpunit

Debemos recibir un error por que no tenemos la clase Validate creada

  1. Creamos la carpeta src y ahi dentro la clase Validate.php
  • En donde se va ha realizar la validaci贸n del email, con el metodo y la clase
<?php

namespace App;

class Validate
{
    public static function email($value)
    {
        return (bool)filter_var($value, FILTER_VALIDATE_EMAIL);
    }
}
  1. Luego se prueba de nuevo con el comando y te realiza el test y ya saldria todo correcto por que ya se cre贸 Validate.php, con esto se valida y se prueba nuestro codigo desde la terminal
vendor/phpunit/phpunit/phpunit

En el curso de Introducci贸n a Laravel el maestro hace un gran proyecto con Testing, orientado a una API.

Siempre es muy 煤til realizar test, ya lo he comentado antes pero no est谩 de m谩s recordar que el programar usando tests te ayuda a evitarte dolores de cabeza buscando el error


Soy el 煤nico que se siente as铆? En el curso anterior, una de las preguntas era si 鈥渆l asterisco era un operador aritm茅tico鈥 y ahora usan funciones anidadas en clases que dependen un paquete descargado con un framework. Entiendo el c贸digo (excepto los :馃槂, pero no s茅 para que sirve PHPunit, nunca lo explicaron en la ruta todav铆a.

Iniciando nuestro proyecto

Utilizaremos composer y phpunit

Lo primero que hacemos es requerir phpunit para el desarrollo

composer require --dev phpunit/phpunit

Luego de eso, modificamos el archivo composer.json y le agregamos un nombre, despcripcion y configuramos el autoload

{
    "name": "matias-ed/validate",
    "description": "proyecto de validacion",
    "autoload": {
        "psr-4": {
            "App\\": "src/"
        }
    },
    "require-dev": {
        "phpunit/phpunit": "^9.5"
    }
}

Creamos el archivo phpunit.xml donde especificamos en que carpeta se encuentran nuestros tests

<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php" colors="true">
    <testsuite name="Test directory">
        <directory>tests</directory> 
    </testsuite>
</phpunit>

Creamos la carpeta tests y dentro de ella creamos el archivo ValidateTest.php
obs: Es buena practica que los archivos de testing terminen en Test

    <?php

    use PHPUnit\Framework\TestCase;
    use App\Validate;

    class ValidateTest extends TestCase
    //TestCase es una clase de PHPUnit
    {
        public function test_email()
        {
            $email = Validate::email("[email protected]");
            //aqui llamamos al metodo email de la clase Validate que aun no hemos creado

            $this->assertTrue($email);
            //Es un metodo de TestCase
        }
    }

Por ultimo creamos nuestra carpeta src/ y adentro creamos nuestra clase Validate

    namespace App;

    class Validate
    {
        public static function email($value)
        {
            return (bool) filter_var($value, FILTER_VALIDATE_EMAIL);
        }
    }
    //filter_var es una funcion propia de php que me permite filtrar a mis variables
    //FILTER_VALIDATE_EMAIL es una constante propia de PHP

Si alguien con mac tiene el error de

No tests executed!

y tiene OSX Big Sur. Esto es debido a un problema con lo que devuelve la version de php que viene pre-instalada en mac ya que se agrego un texto mencionando que php sera eliminado en el futuro pero el mensaje esta concatenado a la version de php

php --version 7.3.22-(to be removed in future macOS)

y phpunit no reconoce la version al tener la cadena de caracteres 鈥-(to be removed in future macOS)鈥 en lugar de solo 7.3.22

La soluci贸n es instalar otra version de php usando el manejador de paquetes de mac Homebrew y actualizar el PATH.

$ brew install [email protected]7.4
$ echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.bash_profile
$ echo 'export PATH="/usr/local/opt/[email protected]/sbin:$PATH"' >> ~/.bash_profile
$ source ~/.bash_profile

Con eso ya me funciono.

Al principio no me funcionaba el comando: vendor/phpunit/phpunit/phpunit.
Por lo tanto decidi primero abrir mi terminal de ubuntu en windows
y ejecutar los siguientes comandos

sudo apt-get update
sudo apt-get install php-xml

Lo anterior para instalar php-xml.

Luego dirigirme al editor Code y comenzar a ejecutar los comandos del profesor.

composer require --dev phpunit/phpunit
luego
composer dump
Luego
php vendor/phpunit/phpunit/phpunit
Finalment, todo fue resuelto.

este curso deberia ir despu茅s del curso de PHP orientada a objetos

Me perd铆

Wow me tomo 2 dias entender esto de los asserts, los namespaces, y hasta eso del return tipo boleano, que no lo sabia pero ahora que conozco lo que no sabias antes ves todo mas sencillo y casi mas facil pero no menos complejo solo entiendes mas, Genial !.

No me funcionaba hasta que hice:

-renombrar carpeta tests por test

-ejecutar composer dump

-ejecutar php vendor/phpunit/phpunit/phpunit

De qu茅 me perd铆, ven铆a tranqui hasta la clase pasada pero todo cambi贸?

ESTO EN EL ValidateTest
<?php

use PHPUnit\Framework\TestCase;
use App\Validate;
class ValidateTest extends TestCase
{
public function test_email()
{
$email = Validate::email(鈥[email protected]鈥);
$this->assertTrue($email);
}
}

Y esto en Validate
<?php

namespace App;

class Validate
{
public static function email($value)
{
return (bool) filter_var($value, FILTER_VALIDATE_EMAIL);
}

}

Y me sale esto:
There was 1 error:

  1. ValidateTest::test_email
    Error: Class 鈥楢pp\Validate鈥 not found

C:\xampp\htdocs\phpUnit\tests\ValidateTest.php:9

ERRORS!
Tests: 1, Assertions: 0, Errors: 1.

馃榾 Cuando utilizamos composer y PHPUnit estamos entregando un c贸digo reusable y escalable.

Este fue el resultado:

es frustrante ver que el profesor supone que a todos les funciona a la primera y no da ninguna idea de como solucionar los posibles problemas que se puedan encontrar con tanta configuraci贸n.
Finalmente a pesar de leer todas las ayudas que los dem脿s dejan no pude hacer correr lo necesario. As矛 que dejo el curso hasta aqu铆, una pena.

Me aparec铆a este error

 vendor/phpunit/phpunit/phpunit

Could not load "/Applications/XAMPP/xamppfiles/htdocs/proyecto/phpunit.xml".

parsing XML declaration: '?>' expected

Con el archivo xml como

<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php" colors="true">
    <testsuite name="Test directory">
        <directory>test</directory>
    </testsuite>
</phpunit>

despu茅s de intentar y buscar por unos d铆as encontr茅 los argumentos que puede llevar esa linea y se le agrego el de standalone que seg煤n entend铆 indica si este archivo es independiente o no de otros archivos

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<phpunit bootstrap="vendor/autoload.php" colors="true">
    <testsuite name="Test directory">
        <directory>test</directory>
    </testsuite>
</phpunit>

Y as铆 funciono el archivo xml del curso.

PHPUnit 9.5.10 by Sebastian Bergmann and contributors.

No tests executed!

Esto trabajando en mac. Saludos

Fui terco en cambiarme de Windows a Linux, pero ahora que me mude todos los cursos los hago rapiditos! Ya tengo todo preconfigurado!

En mi caso con phpunit 9.5.19 yo tuve que crear mi primero la carpeta tests porque me daba un error de test folder not found

Usuarios windows para ejecutar phpunit en la terminal:

php vendor/phpunit/phpunit/phpunit

Tremenda clase de TDD en apenas 12 minutos!

Me devolv铆 despues de terminar el curso porque en un principio no entend铆 del todo esta clase y la siguiente, en cambio, ahora tampoco la entend铆. Bueno no al 100%.

Considero que estos temas de composer y vendors deberian tener ciertas bases primero de programacion orientado a objetos porque ponen temas de clases y herencias en este curso de PHP B谩sico igualmente tambien veo estoo, en el otro curso de supuestamente Introducci贸n

Si alguien tenia la curiosidad de como funciona el namespace o que era. Les dejo la documentacion https://www.php.net/manual/en/language.namespaces.rationale.php

Veo este video y recuerdo varias de mis dudas al iniciar con laravel, muy buen curso,

Tengo entendido que es

vendor/phpunit/phpunit/phpunit

Por que es del proveedor 鈥減hpunit鈥, el proyecto 鈥減hpunit鈥 y el archivo/carpeta a ejecutar es phpunit.

Alguien sabe si es esto es correcto o estoy malinterpretando algo?

Si usan el editor Visual Studio Code, instalen la extensi贸n XML Language Support by Red Hat
Para que cierre las etiquetas de forma autom谩tica.

Qui茅n lo dir铆a que esro me salv贸:
Si tienen problema con que Visual Studio Code no detecta el use de PHPUnit simplemente cierra tu Visual Studio Code, espera unos segundos y rein铆cialo, suele quitarse ese problema.

para los q usan cmd el comando correcto es:
composer require phpunit/phpunit

ACTUALIZACI脫N DE SOPORTE: Puntos que creo que son importantes para la gente que no tiene ni idea de PHP o que viene con la ruta y de pronto se ha topado con pared.

  1. PRIMERO QUE NADA, si no entiendes es normal que te sientas frustrado, tranquilo, si no entiendes las clases, los asserts y todo eso, son cosas un poco m谩s avanzadas, revisa el curso de POO eso ayudar谩 mucho, y regresa a este curso todo se aclarara mucho. Si a煤n as铆 tienes problemas, responde a este mensaje y tratar茅 de responder lo m谩s r谩pido que pueda, pero intenta hilar las cosas por tu cuenta primero, es parte de avanzar como desarrollador.
  2. USUARIOS DE WINDOWS Si tienes problemas con el comando de la terminal para ejecutar las pruebas lo m谩s conveniente es que tengas instalado git bash; se instala con Git, ya que si est谩s con la CMD de Windows vas a batallar y lo conveniente ser铆a que aprendas l铆nea de comandos 鈥渢ipo Linux鈥 :v
  3. Si tienen problema con que Visual Studio Code no detecta el use de PHPUnit simplemente cierra tu Visual Studio Code, espera unos segundos y rein铆cialo, suele quitarse ese problema.
  4. Conviene instalarse la extensi贸n de Visual Studio Code llamada PHP Intelephense, les dejo el link ac谩: https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client

Espero que les sirva y que tengan paciencia, pasara mucho que no entiendan algo y lo mejor es eso, ser paciente y buscar el porque a cada cosa. 脡xito!

Si a alguien le sigue saliendo el error de:

1) ValidateTest::test_email
Error: Class 'App\Validate' not found
ERRORS!
Tests: 1, Assertions: 0, Errors: 1.

Y ya hizo lo de

composer dump

Y ya revis贸 que el contenido de los archivos est谩 bien, el problema puede ser que las carpetas no est谩n correctamente organizadas.

Por ejemplo, yo ten铆a todo bien y todo exactamente igual, pero ten铆a la carpeta src dentro de tests, cuando ten铆a que ir fuera.

me sale este warning:

Package sebastian/resource-operations is abandoned, you should avoid using it. No replacement was suggested

como lo podr铆a solucionar, lo prob茅 con php 8 y php 7 y me sigue saliendo el mismo mensaje

buen aporte:

Las clases de prueba deben terminaci贸n 'test鈥
y las clases que deseamos probar no deben tener la palabra test

para los que tengan este problema : " PHPUnit requires the 鈥渄om鈥 extension. " ;
se soluciona con este comando desde la terminal de wsl : sudo apt install php-xml

C贸mo iniciar composer usando PHPUnit para test de c贸digos en PHP

https://desarrolloycreo.blogspot.com/2021/11/como-iniciar-composer-usando-phpunit.html

Al realizar el comando en Windows
php vendor/phpunit/phpunit/phpunit
me aparec铆a un error de que el test directory no se encontraba. Solo era crear la carpeta tests para que ahora si me apareciera el mensaje en amarillo de no tests executed.

Esta clase fue de mucha ayuda

En mi caso cambi茅 de computador entre el curso de Composer y este. Si tienes un caso similar o formateaste la m谩quina entre otras variables, es importante que instales composer, cierras VC, lo abres nuevamente, ejecutas composer require --dev phpunit/phpunit y debe funcionar sin problema.

configuracion de validate.php

Configuraci贸n de ValidateTest.php

configuraci贸n de xml

Si despu茅s de ejecutar el comando:

composer require --dev phpunit/phpunit 

les muestra error (sobre todo usuarios linux) necesitan instalar php-xml de la siguiente manera:

sudo apt install php-xml

y si les sigue mostrando error, adicionalmente puede que necesiten instalar tambi茅n:

sudo apt install php-mbstring

Espero les ayude. 隆A seguir aprendiendo!

A mi me daba error, pero lo solucion茅 cambiando el nombre de la carpeta tests a test.

En Windows 10 primero tienen que crear la carpeta tests dentro de la ra铆z, para eso ejecutamos en la terminal

mkdir tests

Y finalmente ejecutamos la sentencia de la clase

php vendor/phpunit/phpunit/phpunit

Estoy usando Windows 10 con WSL Ubuntu 20.04 y la consola no reconoc铆a primero los comandos de composer. Lo solucion茅 agregando la siguiente l铆nea al archivo .bashrc

  1. Abrimos el documento
nano ~/.bashrc
  1. Agregamos al inicio del archivo la siguiente l铆nea:
alias composer='cmd.exe /c composer'

Otro error que tuve fue al correr el comando vendor/phpunit/phpunit/phpunit, generando el siguiente output:

Command 'php' not found, but can be installed with:
sudo apt install php7.4-cli

Aqu铆 hago un par茅ntesis, ya que estoy usando xampp con php 8.0.X y no me gener贸 ning煤n error al correr el comando sugerido, aunque si me quede con la duda de la diferencia de versiones. Aqu铆 corremos el comando mencionado anteriormente.

sudo apt install php7.4-cli

Despu茅s al volver a correr vendor/phpunit/phpunit/phpunit obten铆a el siguiente error:

Class 'DOMDocument' not found

Este fue solucionado con el siguiente comando, que encontr茅 aqu铆 mismo en los comentarios:

sudo apt install php-xml 

Fue duro, al final lo logre, trabajando con wsl2 se debe instalar adicionalmente las librer铆as para xml y actualizar la versi贸n de composer, sude con esta clase pero me gusto bastante!

para los que esten usando WSL deben instalar la versi贸n de xml correspondiente a su versi贸n de php tambien, por ejemplo esto:

sudo apt install php-xml
descargar谩 la ultima versi贸n compatible con la ultima de php, pero si tienen versiones anteriores deben hacer por ejemplo:
sudo apt install php7.4-xml

No se porque solo obtengo No tests executed si al profesor le dice que el test si corrio

yo tube que crear antes la carpeta solita de test ya que al correr el comando de. vendor/phpunit/phpunit/phpunit me decia.
sebastian bergmann and contributors tests no fund.

Hola, alguien tiene el repositorio de este proyecto en git, especificamente en este punto donde configura phpunit? estoy atascado. Gracias

Al escribir

$ composer require --dev phpunit/phpunit

Me sale este error y no se instala el phpunit

Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2.0 is about to be released and the older 1.x releases will self-update directly to it once it is released. To avoid surprises update now to the latest 1.x version which will prompt you before self-updating to 2.x.

Using version ^9.4 for phpunit/phpunit
./composer.json has been created
Loading composer repositories with package information
Warning from https://repo.packagist.org: You are using an outdated version of Composer. Composer 2.0 is about to be released and the older 1.x releases will self-update directly to it once it is released. To avoid surprises update now to the latest 1.x version which will prompt you before self-updating to 2.x.
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - phpunit/phpunit 9.4.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - phpunit/phpunit 9.4.0 requires ext-dom * -> the requested PHP extension dom is missing from your system.
    - Installation request for phpunit/phpunit ^9.4 -> satisfiable by phpunit/phpunit[9.4.0, 9.4.1].

  To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/7.4/cli/php.ini
    - /etc/php/7.4/cli/conf.d/10-opcache.ini
    - /etc/php/7.4/cli/conf.d/10-pdo.ini
    - /etc/php/7.4/cli/conf.d/20-calendar.ini
    - /etc/php/7.4/cli/conf.d/20-ctype.ini
    - /etc/php/7.4/cli/conf.d/20-exif.ini
    - /etc/php/7.4/cli/conf.d/20-ffi.ini
    - /etc/php/7.4/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.4/cli/conf.d/20-ftp.ini
    - /etc/php/7.4/cli/conf.d/20-gettext.ini
    - /etc/php/7.4/cli/conf.d/20-iconv.ini
    - /etc/php/7.4/cli/conf.d/20-json.ini
    - /etc/php/7.4/cli/conf.d/20-mbstring.ini
    - /etc/php/7.4/cli/conf.d/20-phar.ini
    - /etc/php/7.4/cli/conf.d/20-posix.ini
    - /etc/php/7.4/cli/conf.d/20-readline.ini
    - /etc/php/7.4/cli/conf.d/20-shmop.ini
    - /etc/php/7.4/cli/conf.d/20-sockets.ini
    - /etc/php/7.4/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.4/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.4/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.4/cli/conf.d/20-tokenizer.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.

Installation failed, deleting ./composer.json.

A qu茅 curso anterior se refiere 脥talo?

Aspectos relevantes en PHP
Composer y PHPUnit

de Dummy a Tech Leader en 3 2 1. fuck!!!

Excelente

Las pruebas de software son muy importantes a la hora de desarrollar. A tener en cuenta esto

Para los que tiene problemas seguir lo siguiente:
Install:
https://getcomposer.org/download/
Antes de instalar tomar en cuenta que debes tener cerrado Xampp y VSC

Luego correr este:

composer require --dev phpunit/phpunit ^7

Archivos
composer.json

{	
	"name": "danny/validate",
	"description": "Proyecto de Validaci贸n",
	"autoload": {
		"psr-4": {
			"App\\": "src/"
		}
	},
    "require-dev": {
        "phpunit/phpunit": "^7"
    }
}

phpunit.xml

<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php" colors="true">
    <testsuite name="Test Directory">
         <directory>tests</directory>
    </testsuite>
</phpunit>

ValidateTest.php

<?php

use PHPUnit\Framework\TestCase;
use App\Validate;

class ValidateTest extends TestCase{
	public function test_email(){
		$email = Validate::email('[email protected]');
		$this->assertTrue($email);
	}
}

validate.php

<?php

namespace App;

class Validate{
	public static function email($value){
		return (bool) filter_var($value, FILTER_VALIDATE_EMAIL);
	}
}
"name": "italo/validate",
    "description": "Proyecto de practica profesional en php",
  

les recomiendo que cuando configuren el nombre de autoload lo ponga en minisculas.

  1. validateTest::test_email
    Error: Class 鈥楢pp\Validate鈥 not found

C:\xampp\htdocs\iniciar_proyecto\tests\ValidateTest.php:9

ERRORS!
Tests: 1, Assertions: 0, Errors: 1.

nota
porque sigo teniendo este error aun ya creando la carpeta src y dentro de ella Validate.php ,tengo phpuni 8.5

Si tiene el siguiente error:

ValidateTest::test_email
Error: Class 'App\Validate' not found

Ejecuten en su consola:

composer dump

INICIAR EL PROYECTO CON:

  1. composer require --dev phpunit/phpunit

  2. rellenar el composer.json

  3. crear un archivo, a nivel del vendor, phpunit.xml

  4. llenar el phpunit.xml

  5. en consola escribir vendor/phpunit/phpunit/phpunit

  6. y debe salir 鈥淣o tests executed鈥

  7. en caso funca escribir: composer dump

EN WINDOWS:

  1. composer require --dev phpunit/phpunit

  2. rellenar el composer.json

  3. crear un archivo, a nivel del vendor, phpunit.xml

  4. llenar el phpunit.xml

  5. crear la carpeta test a nivel del vendor

  6. en consola escribir: php vendor/phpunit/phpunit/phpunit

  7. y debe salir 鈥淣o tests executed鈥

  8. en caso no funca escribir: composer dump

En mi caso, estoy usando Windows, pero me daba error al no tener la carpeta 鈥榯ests鈥 la cree y ya pude continuar de manera normal.

Me hubiera gustado una explicaci贸n mas extensa y minuciosa de esta clase con PHPUnit. Tengo confianza que en las siguientes clases reforzaremos todo esto.

Gracias por el aporte!

continuara!!!

Pregunta!
驴Alguien me puede explicar a qu茅 se refiere en el minuto 4:10 d贸nde dice que carga lo mismo que cargaba en el archivo index?

Gracias!

Si por A o B no les sale incluso cuando usan: "php vendor/phpunit/phpunit/phpunit"
Solo creen la carpeta test en el mismo nivel que la carpeta Vendor, le dan al comando anterior y listo!!!

Para los que esten versionando en git, lei en el gitignore de laravel que tanto la carpeta vendor como el archivo cache se ignoran

Alguien est鈥檃 usando TDD, excelso!