Tengo un problema recurrente en la creación de plantillas de proyectos. Realmente no puedo probar mi trabajo de otra manera que ejecutar las plantillas en el Creador de plantillas. Este es un problema importante si estoy trabajando en un TBB que se usa en varias plantillas diferentes porque significa que después de cambiar el código en el TBB debería volver a probar todas las plantillas (y probablemente con varias páginas/componentes diferentes ya que podría haber casos ligeramente diferentes según el contenido).Cómo automatizar las pruebas de las plantillas de Tridion (con TOM.NET)
Como puede ver en los grandes proyectos donde los TBB se reutilizan mucho, cambiarlos cuesta mucho tiempo debido a la cantidad de pruebas necesarias y estaría ansioso por encontrar una solución para esto. Sé que la prueba unitaria es prácticamente imposible con el TOM.NET actual (la mayoría de las clases/métodos son internos) entonces, ¿qué podría ser una alternativa forma de lograr prueba automatizada?
Una solución que he analizado es utilizar Core Service para iniciar el proceso de renderización de una plantilla con contenido de prueba y luego verificar si el resultado es el esperado, pero lograr esto requiere bastante código y produce una sobrecarga indeseada (Creo que aún toma menos tiempo que volver a probar manualmente los casos). Además, esto realmente no le permite probar TBB individuales a menos que (programáticamente) cree plantillas separadas con TBB individuales (o un subconjunto). Lo bueno de esta solución es que podría ejecutar las pruebas en su computadora portátil local mientras se desarrolla, suponiendo que pueda conectarse a Tridion-server (aún tendría que cargar su código a Tridion antes de ejecutar las pruebas, por lo que su solución no es completamente ideal)
Sé que otra alternativa es usar DD4T/CWA donde puede manejar prácticamente todas las pruebas en el front-end ya que las plantillas son (por lo general) bastante simples.
¿Alguna otra idea?
Creo que esta es la solución más simple y se puede ampliar fácilmente con las otras ideas mencionadas (código de aislamiento, utilizando Core Service TestRunner, etc.) –