| name | depurar-y-testear |
| description | Guía para depurar, testear y verificar código en FacturaScripts usando el modo debug, logs y PHPUnit. |
Skill: Depurar y Testear en FacturaScripts
Activar el modo debug
Editar config.php en la raíz de FacturaScripts:
define('FS_DEBUG', true);
Esto activa la barra de debug en la parte inferior derecha con información de queries, logs y errores.
Mostrar mensajes y errores
use FacturaScripts\Core\Tools;
Tools::log()->info('Mensaje informativo');
Tools::log()->warning('Atención: algo no está bien');
Tools::log()->error('Ha ocurrido un error');
Tools::log()->error('campo-obligatorio', ['%field%' => 'Nombre']);
Tools::log('audit')->info('Acción completada');
Ver logs
Los logs se almacenan en la tabla logmessages y se pueden ver desde Administrador → Log.
Reconstruir Dinamic
Cuando los cambios no se reflejan, hacer clic en Administrador → Plugins → Reconstruir o activar/desactivar el plugin.
Tests unitarios con PHPUnit
Atajo con fsmaker
Para generar el archivo de test base y ejecutarlos, usa:
fsmaker test
fsmaker run-tests
Archivo: Test/MiPluginTest.php
<?php
namespace FacturaScripts\Test\Plugins;
use FacturaScripts\Plugins\MiPlugin\Model\NombreModelo;
use PHPUnit\Framework\TestCase;
final class NombreModeloTest extends TestCase
{
public function testCrearRegistro(): void
{
$modelo = new NombreModelo();
$modelo->name = 'Test';
$this->assertTrue($modelo->save());
$this->assertNotEmpty($modelo->id);
$this->assertTrue($modelo->delete());
}
public function testValidacion(): void
{
$modelo = new NombreModelo();
$modelo->name = '';
$this->assertFalse($modelo->save());
}
}
Ejecutar los tests:
composer test
vendor/bin/phpunit
Verificar estilo de código
composer cs-check
composer cs-fix
composer phpstan
Errores comunes y soluciones
| Error | Causa | Solución |
|---|
| Clase no encontrada | Namespace incorrecto | Verificar que el namespace coincide con la ruta del archivo |
| Vista no carga | XMLView con nombre incorrecto | El nombre del XMLView debe coincidir exactamente con el viewName |
| Tabla no creada | XML de tabla con errores | Verificar sintaxis del XML en Table/ |
| Cambios sin efecto | Cache no limpiada | Reconstruir Dinamic desde Administrador → Plugins |
| Extensión no se aplica | No cargada en Init.php | Añadir $this->loadExtension() en Init::init() |
Para más información
Para consultar la documentación oficial completa sobre testing y depuración en FacturaScripts, invoca el agente docs-expert que te proporcionará detalles completos directamente desde la documentación oficial del framework.