Kahlan es un marco de prueba Unit & BDD con todas las funciones a la RSpec/JSpec que utiliza una sintaxis describe-it
y lleva las pruebas en PHP un paso adelante.
Kahlan le permite parchear su código directamente como en Ruby o JavaScript sin necesidad de extensiones PECL.
Presentación de Warren Seymour en Unified Diff (2015)
Presentación Grafikart en francés (2016, Kahlan 2.X)
chat.freenode.net (servidor) #kahlan (canal)
Vea la documentación completa aquí
PHP 7.2+
Compositor
phpdbg o Xdebug (solo requerido para análisis de cobertura de código)
Sintaxis RSpec/JSpec
Métricas de cobertura de código (se requiere xdebug o phpdbg)
Práctico sistema de destrucción (ya no se necesitan burlas ni profecías)
Establezca apéndices en los métodos de su clase directamente (es decir, permite burlas dinámicas)
Capacidad de aplicar parches a su código (es decir, permite el reemplazo de funciones/clases principales sobre la marcha)
Verifique los métodos llamados en sus clases/instancias
Reporteros integrados (informes de terminal o HTML a través de Estambul o lcov)
Exportadores integrados (monos, Code Climate, Scrutinizer, Clover)
Flujo de trabajo extensible y personalizable
<?phpdescribe("Ejemplo", función() { it("hace una expectativa", función() { esperar(verdadero)->toBe(verdadero); }); it("espera que se llamen métodos", function() { $usuario = new User(); expect($user)->toReceive('save')->with(['validates' => false]); $ usuario->save(['validates' => false]); }); it("stubs a function", function() { permitir('time')->toBeCalled()->andReturn(123); $usuario = nuevo Usuario(); expect($usuario->save())-> toBe(true) expect($usuario->creado)->toBe(123); }); it("stubs a class", function() { enable('PDO')->toReceive('prepare', 'fetchAll')->andReturn([['name' => 'bob']]); $usuario = nuevo Usuario(); esperar($usuario->todos())->toBe([['nombre' => 'bob']]); }); });
$ compositor requiere --dev kahlan/kahlan
Nota: Kahlan utiliza el control de versiones semántico y mantiene un CHANGELOG
para ayudarle a comprender fácilmente lo que está sucediendo.
git clone git://github.com/kahlan/kahlan.git cd kahlan composer install bin/kahlan # to run specs or, bin/kahlan --coverage=4 # to run specs with coverage info for namespaces, classes & methods (require xdebug)