一键导入
depurar-y-testear
Guía para depurar, testear y verificar código en FacturaScripts usando el modo debug, logs y PHPUnit.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Guía para depurar, testear y verificar código en FacturaScripts usando el modo debug, logs y PHPUnit.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Crea un modelo de FacturaScripts con su clase PHP y archivo XML de tabla.
Configura la ruta de módulos MCP locales privados en ~/.fs-claude.json
Redacta en pantalla (sin crear ningún archivo) un texto en formato markdown, listo para copiar y pegar, que explica las novedades, mejoras y correcciones de un plugin o proyecto de FacturaScripts a partir de un rango de commits o de versiones. Activa esta skill siempre que el usuario pida "redacta las novedades", "escribe la noticia de los cambios", "genera el changelog", "qué ha cambiado desde la versión X", "resume los cambios entre la versión X y la Y", "prepara el anuncio de la nueva versión", o cualquier variación en la que se pida comunicar qué se ha hecho en un rango de commits o entre dos versiones.
Guía para añadir una nueva conexión de FacturaScripts al archivo de configuración
Sincroniza modelos del MCP fs-mcp con sus fuentes (FacturaScripts core o plugins privados). Detecta columnas nuevas/modificadas/eliminadas, mantiene las descripciones unificadas en los archivos de overrides, regenera la metadata y compila si hace falta. Soporta uno o varios modelos, ruta local o URL de GitHub, y un modo "refresh masivo" para auditar todos los modelos del catálogo y actualizar la versión registrada de FacturaScripts.
Responde preguntas sobre cómo usar FacturaScripts consultando la documentación oficial de usuarios a través del agente especializado `docs-expert`. ACTIVAR SIEMPRE que el usuario pregunte cómo hacer una operación, dónde encontrar una función, cómo fluye un proceso (presupuesto→factura), cómo gestionar clientes, inventario, compras, contabilidad, o cualquier aspecto práctico de uso del ERP. También activar cuando Claude necesite explorar la documentación de usuario antes de responder sobre procedimientos — no esperar a que el usuario pregunte explícitamente. No esperes a que mencione "documentación" — si la pregunta o tarea involucra procedimientos operativos en FacturaScripts, activa esta skill.
| name | depurar-y-testear |
| description | Guía para depurar, testear y verificar código en FacturaScripts usando el modo debug, logs y PHPUnit. |
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.
use FacturaScripts\Core\Tools;
// Info (mensaje informativo)
Tools::log()->info('Mensaje informativo');
// Warning
Tools::log()->warning('Atención: algo no está bien');
// Error
Tools::log()->error('Ha ocurrido un error');
// Error con traducción
Tools::log()->error('campo-obligatorio', ['%field%' => 'Nombre']);
// Mostrar en la interfaz (toast)
Tools::log('audit')->info('Acción completada');
Los logs se almacenan en la tabla logmessages y se pueden ver desde Administrador → Log.
Cuando los cambios no se reflejan, hacer clic en Administrador → Plugins → Reconstruir o activar/desactivar el plugin.
Para generar el archivo de test base y ejecutarlos, usa:
# Crear un nuevo test
fsmaker test
# Ejecutar todos los tests del proyecto
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);
// Limpiar
$this->assertTrue($modelo->delete());
}
public function testValidacion(): void
{
$modelo = new NombreModelo();
$modelo->name = ''; // Inválido
$this->assertFalse($modelo->save());
}
}
Ejecutar los tests:
composer test
# O directamente:
vendor/bin/phpunit
# Verificar
composer cs-check
# Corregir automáticamente
composer cs-fix
# Análisis estático
composer phpstan
| 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 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.