Testeo Unitario a un proyecto GeneXus - Gxwiki6

Con el fin de practicar y encontrar la forma de como incorporar pruebas unitarias a un proyecto GeneXus, decidí hacer un proyecto colaborativo (conmigo mismo) en un proyecto público como GXwiki. 
http://open.genexusserver.com/v16/knowledgebase.aspx?GXwiki6,GXWiki6

Elegi este proyecto porque es publico/abierto y tiene pocas tablas y a la vez es suficientemente sofisticado como para encontrar varios de los problemas que vamos a encontrar en casas proyectos reales.

Lamentablemente no puedo crear versiones en el server, pues me gustaría poder dejarlo (en el server) asi:


Por ahora, lo voy a dejar desconectado del server, y tal vez mas adelante lo suba a algun server para que otros puedan usarlo.

Las tareas que voy realizando son:

Aprontes y limpieza de la KB

Crear KB from Server
Build All
Creo una versión congelada (para tener un lugar donde volver si meto la pata). 

Corregir estos errores: 
Processing enumerated domains...
Database Creation Analysis Success
Generating Resources...
English\ThemeWiki.css(5321): Expected closing curly-brace, found ';'
English\ThemeWiki.css(5322): Unexpected token, found '}'
English\ThemeWiki.css(7602): Unexpected token, found '@keyframes'
English\ThemeWiki.css(7604): Expected colon, found '{'
English\ThemeWiki.css(7608): Unexpected token, found '@keyframes'
English\ThemeWiki.css(7610): Expected colon, found '{'
warning: Some files could not be compressed. 
El error se da en las classes de la ProgressBar y seguramente no la muestre en forma correcta.  Hice que no diera mas el error, pero no solucione el problema de fondo. Es un error que queda anotado y puede ser corregido mas adelante. 

Limpieza de Warnings.
En esta etapa, intento dejar una KB que haga un build all, sin ningún warning. 
Para esto:  
Agrego spc0038 spc0135 spc0087 a los Disabled Warnings.  - En esta etapa no me voy a preocupar por programas que usen codigo SQL, C# o Java (lo doy por bueno) y tampoco voy a optimizar uso de índices. 
 
Agrego spc0023 spc0024 spc0025 a los Warnings que se tratan como errores (para forzar los parámetros correctos). 
PAutoLog, se le agrega el parámetro UserRealName que no lo estaba pasando a pSetUserInfo. 

Arreglo los objetos
WWTPageLinks , LoadPagePrecedes y 
Se agrega el pSetCookie y pSetCookieWithExpiration para revisar el codigo de error. 

Borro 27 objetos que no se referencian.  KBDoctor / Clean KB / Delete not refrenced objects
DataSelectors, dominios, procedures, etc 

Revisar el Folder Temporal y borrar todo lo que no se usa. 

Borrar todas las variables no usadas. 
Variables Cleaner / All KB . 

Total cleaned objects: 60. Removed variables: 132
Variables Cleaning Success

Borrar los atributos no usados. 

PageToEditEndTimeYesPage To Edit End TimeDATETIME(0.5)PageToEditTPageToEdit
PageToEditStartTimeYesPage To Edit Start TimeDATETIME(0.5)PageToEditTPageToEdit 

Se pueden borrar pues no se usan. 


Comentarios

Entradas más populares de este blog

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Aplicación monolítica o distribuida?

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.