stringtranslate.com

Wikipedia:Sandbox de plantillas y casos de prueba

Las plantillas son una característica muy poderosa del software MediaWiki que se utiliza para Wikipedia , pero es fácil cometer errores, incluso por parte de usuarios experimentados. Por lo tanto, las modificaciones de plantillas complejas deben realizarse en entornos de pruebas y acompañarse de casos de prueba para evitar errores. Los entornos de pruebas temporales X1 a X20 o el entorno de pruebas de plantillas pueden ser lugares útiles para probar nuevos experimentos o para usuarios que no estén familiarizados con el desarrollo de plantillas.

Para el desarrollo de plantillas completamente nuevas, los entornos sandbox de usuario son adecuados.

Nombres de subpáginas de casos de prueba y sandbox

La mayoría de las plantillas protegidas ya tienen una subpágina de sandbox y una subpágina de casos de prueba. Los nombres de estas páginas son predeterminados. En la parte inferior de la página de cada plantilla hay enlaces para crear o editar las páginas de sandbox y casos de prueba de la plantilla.

Por ejemplo, aquí están las subpáginas de {{ FlagIOCmedalist }} :

¿Para qué tipo de plantillas deberías utilizar sandbox?

Se recomienda encarecidamente aplicar el patrón de caso de prueba a las plantillas que utilizan ParserFunctions que pueden generar resultados de apariencia muy diferente, como los que toman muchos parámetros o los que tienen muchas ramas del #switchoperador.

En el caso de los cuadros de navegación con resultados prácticamente idénticos en cada página incluida, es posible que el beneficio no supere el tiempo y el esfuerzo necesarios para crear una página de prueba, pero si tiene dudas, utilícela. Cualquier plantilla marcada como plantilla de alto riesgo siempre debe probarse antes de realizar una edición. Con otras páginas, debe comprobar qué páginas utilizan la plantilla (a través del enlace "Qué enlaces hay aquí" en la sección Herramientas de la barra de enlaces en el lado izquierdo de la pantalla).

Cómo crear subpáginas /sandbox y /testcases

  1. Supongamos que su plantilla se llama Template:X. Cree una subpágina con el nombre Template:X/sandbox. Si la plantilla principal utiliza la plantilla {{ documentation }} , puede hacerlo desde un enlace en la parte inferior del cuadro de documentación azul en la página principal de la plantilla. O puede escribirlo en el cuadro de búsqueda o directamente en la barra de URL de su navegador. Tenga en cuenta que "/sandbox" está todo en minúsculas.
  2. Copia todo el contenido de la plantilla principal, incluidas <noinclude>las etiquetas y la plantilla {{ documentation }} si está presente, pégalo en la ventana de edición de la subpágina /sandbox y guarda la página. El resumen de la edición debería ser algo como create sandbox version of [[Template:X]].
  3. Cree otra subpágina con el nombre Template:X/testcases. Esta página solo se vincula desde la parte inferior del cuadro de documentación azul si realmente existe, por lo que para crearla deberá hacerlo escribiendo el nombre de la página en el cuadro de búsqueda o en la barra de URL de su navegador. Nuevamente, tenga en cuenta que "/testcases" está todo en minúsculas y es una sola palabra.
  4. Coloque la plantilla {{ testcases notice }} en la parte superior de la página, agregue algunos casos de prueba (ver a continuación) y guarde la página.
  5. Agregue su código experimental a Template:X/sandbox. Para probar su código, guarde la página y vaya a la página /testcases. A menudo, necesitará purgar la página /testcases para ver los resultados actualizados; hay un enlace para hacerlo incluido en la plantilla {{ testcases notice }} . Después de haber purgado la página, compare los resultados de la plantilla principal con los resultados del entorno de pruebas y, si todo se ve bien, puede actualizar la plantilla principal. Sin embargo, tenga cuidado con los casos de prueba faltantes y con el código que solo se puede probar en ciertos espacios de nombres o en ciertas páginas.

Cómo actualizar las subpáginas /sandbox y /testcases existentes

Para realizar un cambio en una plantilla que ya tiene subpáginas /sandbox y /testcases, el proceso es similar al anterior.

  1. Es posible que el /sandbox no tenga la última versión del código de la plantilla, por lo que antes de realizar un cambio, debe sincronizarlo con la plantilla principal. Copie todo el contenido de la plantilla principal en la subpágina /sandbox y guarde la página. El resumen de la edición debería ser algo así como "sincronizar con la plantilla principal" o simplemente "sincronizar".
  2. Diviértete editando el sandbox. Cuando tengas algún código que quieras probar, guarda la página.
  3. Si ha añadido nuevas funciones o ha cambiado algún parámetro, debe añadir nuevos casos de prueba a la subpágina /testcases para que se puedan probar. Además, tenga en cuenta que los casos de prueba existentes pueden no estar completos. Está bien reescribir los casos de prueba si no son útiles para lo que está intentando lograr, pero también tenga en cuenta a los editores que pueden utilizar los casos de prueba después de usted.
  4. Purgue la página /testcases para actualizar los resultados.
  5. Verifique que los resultados del caso de prueba sean correctos. Si todo parece correcto, copie el código del entorno de pruebas a la plantilla principal.

Agregar casos de prueba

En la página /testcases, debería haber un caso de prueba para cada comportamiento diferente de su plantilla. Por ejemplo, si su plantilla genera un mensaje de banner y el parámetro |italic=yeshace que ese mensaje aparezca en cursiva, debería agregar un caso de prueba para el mensaje normal y otro para el mensaje en cursiva. Si esa plantilla tiene otro parámetro, |date=, donde el usuario inserta la fecha, entonces debería haber un tercer caso de prueba para eso. Debe intentar ser minucioso y crear casos para todas las formas en que los usuarios podrían usar su plantilla; sin embargo, a menudo no es práctico agregar casos de prueba para cada combinación de parámetros, por lo que debe elegir los más relevantes con prudencia.

Hay varios estilos diferentes de casos de prueba que puedes usar. El que elijas dependerá de la naturaleza de la plantilla en la que estés trabajando. Por ejemplo, para una salida de plantilla corta que quepa en una línea, puede ser útil colocar los casos de prueba dentro de una tabla wiki, y para plantillas largas y delgadas como los infoboxes, suele ser mejor mostrarlos uno al lado del otro usando {{ testcase table }} .

Formato manual

El formato manual le brinda una gran flexibilidad, pero debe tener cuidado de asegurarse de que todos los parámetros de la plantilla se ingresen correctamente. Un error en uno de los casos de prueba suele ser más difícil de detectar que un error en la plantilla misma.

Formato básico

Este formato funciona bien para plantillas de banners y para textos extensos, por ejemplo, citas. Tenga en cuenta que puede formatear este tipo de pruebas automáticamente utilizando Plantilla:Caso de prueba y otras plantillas similares.

== Título descriptivo == * <código><nowiki>{{ plantilla | parámetro1 = valor1 | parámetro2 = valor2 }}</nowiki></code> '''Principal''' {{ plantilla | parámetro1 = valor1 | parámetro2 = valor2 }} '''Salvadera''' {{ plantilla /sandbox| parámetro1 = valor1 | parámetro2 = valor2 }}

Cada valor de plantilla , parámetro1 , valor1 , etc. debe ser idéntico.

Para las plantillas que usan el atributo CSS "float", necesitarás usar la plantilla {{ clear }} para evitar que los resultados se agrupen:

== Título descriptivo == * <código><nowiki>{{ plantilla | parámetro1 = valor1 | parámetro2 = valor2 }}</nowiki></code> '''Principal''' {{ plantilla | parámetro1 = valor1 | parámetro2 = valor2 }} {{claro}} '''Salvadera''' {{ plantilla /sandbox| parámetro1 = valor1 | parámetro2 = valor2 }} {{claro}}

Tabla wiki

El uso de una wikitabla para dar formato a los casos de prueba suele ser útil para plantillas con resultados cortos que deben alinearse correctamente.

Comience la tabla así:

{|clase="wikitabla"|-! Código! Principal! Caja de arena<!-- Cada nuevo caso de prueba se puede agregar de esta manera: -->|-| <código><nowiki> {{ plantilla | parámetro1 = valor1 | param2 = valor2 }} </nowiki></code>
| {{ plantilla | parámetro1 = valor1 | parámetro2 = valor2 }}| {{ plantilla /sandbox| parámetro1 = valor1 | parámetro2 = valor2 }}<!-- Termina la tabla así: -->|}

Formato automático

Existen varias plantillas que le ayudan a formatear casos de prueba automáticamente. Con estas plantillas, los parámetros y valores solo se ingresan una vez, pero se prueban tanto para la plantilla principal como para las plantillas de sandbox. Esto evita el problema de errores en los parámetros de los casos de prueba y facilita el mantenimiento de las páginas de los casos de prueba. Estas plantillas incluyen:

Tenga en cuenta que todas estas plantillas pueden generar casos de prueba colapsables, pero la plantilla Caso de prueba colapsable tiene esta función activada de forma predeterminada. Para obtener documentación detallada, consulte las páginas de cada plantilla.

Pruebas que no se pueden realizar en las páginas /testcases

Algunas funciones de plantilla no se pueden probar en las páginas /testcases. Por ejemplo, una plantilla puede generar solo cierto texto cuando se encuentra en el espacio de nombres principal, o puede generar diferentes cosas cuando se utiliza en una página base y cuando se utiliza en una subpágina. Para este tipo de pruebas, puede utilizar la función "Previsualizar página con esta plantilla" que puede ver debajo de la ventana de edición en las páginas de plantilla. Para que esta función sea aún más potente, puede instalar User:Jackmcbarn/advancedtemplatesandbox.js , que la hace utilizable en cualquier espacio de nombres y le permite especificar el título de la plantilla, así como la página en la que se obtendrá una vista previa. Esto significa que puede editar la plantilla de sandbox, pero obtener una vista previa de las páginas como si estuviera editando realmente la plantilla principal.

Si puede pensar en alguna prueba que no se pueda realizar en la página /testcases, puede ser útil dejar una nota en la parte superior de la página /testcases que describa qué más se necesita probar, para que los futuros editores de esa plantilla también estén al tanto.

Ejemplos

Formato básico
Plantilla:Quote , Plantilla:Quote/sandbox y Plantilla:Quote/testcases
Tabla wiki
Plantilla:Diff , Plantilla:Diff/sandbox y Plantilla:Diff/testcases
Tabla de casos de prueba
Plantilla:Infobox de liquidación , Plantilla:Infobox de liquidación/sandbox y Plantilla:Infobox de liquidación/casos de prueba

Véase también