Bueno, ahora que me decis que tenes el control de codigo fuente en tu maquina, ya estamos en el horno :-) Enumero algunas ventajas que se me ocurren ahora (si alguno quiere agregar, adelante): - Compilas en un entorno mas "limpio", en otras palabras, mas parecido al entorno de produccion. - Si haces deploy, podes imponer condiciones mas restrictivas de seguridad, incluso en sistemas operativos mas apropiados, por ejemplo Windows 2000 o 2003 o 2008, suponiendo que tenes tu maquina de desarrollo en Windows XP. - Al ser una maquina dedicada, es mas facil hacer backups, es decir, identificar correctamente cual es la informacion que debe resguardarse. - No interrumpis la prueba cada vez que vos tengas que reiniciar. - El build no afecta con tu trabajo (esto es lo que te pasa ahora) - Podes correr pruebas de integracion, de velocidad con datos reales, etc. - Te aseguras que los scripts de deploy, de actualizacion de la base de datos funcionan realmente bien, cosa que no podes hacer sobre la base de datos en la cual hiciste los cambios manualmente. En fin, un monton de pequeñas ventajas y algunas no tan pequeñas que pueden evitarse por el costo relativamente bajo de una PC clon con 2 GB de RAM. Un abrazo Carlos Peix
_____ De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Diego Jancic Enviado el: Jueves, 08 de Mayo de 2008 09:37 a.m. Para: [email protected] Asunto: [puntonet] Memoria NUnit y TDD Si, esta en mi maquina... :) El tema es que ahora no tengo no otra maquina... voy a ver si consigo una. Con el tema de "las debilidades de ese enfoque", si no te molestaria decirmelas te agradeceria... La unica ventaja que veo es que se puede hacer un poco mejor testing, y con eso hasta ahora no tuvimos problemas.. Gracias ;) Diego 2008/5/8 Carlos Peix <[EMAIL PROTECTED]>: Hola Diego, No abundare sobre las debilidades que tiene ese enfoque, ya nos pusimos de acuerdo en eso :-), una pregunta, el server de control de codigo fuente lo tenes en tu maquina tambien? Eso seria mas raro todavia, caso contrario, podrias poner en ese mismo server el CC.NET <http://cc.net/> . Ideas nomas Carlos Peix _____ De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Diego Jancic Enviado el: Miércoles, 07 de Mayo de 2008 07:58 p.m. Para: [email protected] Asunto: [puntonet] Memoria NUnit y TDD Tema complicado la verdad que tenes razón (supongo, nunca hice lo que decis), pero en realidad el ambiente de desarrollo no lo justifica creo, pero creo que siendo una aplicación web en la que hacemos un release cada varios meses no es importante Para las versiones de prueba interna se está incluso usando la misma PC (la mia funciona como server y como maquina de desarrollo J), y la verdad que no tuvimos nunca problemas. Además actualmente la cantidad de usuarios en producción es muy poca y están como beta-testers, asi que tampoco es algo tan relevante. (en julio-agosto-septiembre se espera un incremento importante) No se me da la impresión que no justifica el gasto de una nueva pc para eso, posiblemente cuando tenga mas usuarios tenga que hacer lo que decis Gracias!, Diego From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of Carlos Peix Sent: Miércoles, 07 de Mayo de 2008 06:33 p.m. To: [email protected] Subject: [puntonet] Memoria NUnit y TDD Ermmm, el CC.NET <http://cc.net/> en la maquina de desarrollo? Si esta es tu situacion creo que te estas perdiendo unas cuantas ventajas de las pruebas de integracion (entre otras, asegurarte de que la aplicacion compila fuera de la maquina del desarrollador). No podes solicitar un server para el CC.NET <http://cc.net/> ? hasta puede ser un clon y podria servirte para que la gente de testing pruebe. Carlos Peix _____ De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Diego Jancic Enviado el: Miércoles, 07 de Mayo de 2008 04:40 p.m. Para: [email protected] Asunto: [puntonet] Memoria NUnit y TDD Si.. eso es lo que hago... solo los corro antes del commit y con CCNET, pero el problema es cuando los corre CCNET me obliga a cerrar el visual studio para evitar OutOfMemoryException (y mi maquina tiene 2gb ahora) :( En fin, era para preguntar nada mas porque me molesta eso... no es algo realmente critico. Saludos a todos!, Diego On Wed, May 7, 2008 at 4:25 PM, Carlos Peix <[EMAIL PROTECTED]> wrote: Si con "categoria" te referis a namespace, si, ya esta hecho. En vez de hacer muchas dlls lo que yo hice fue una dll con carpetas. Igual me preocupa lo que decis del mantenimiento, prefiero otra solucion (Si la hay...) [Carlos] Nopes, las categorias de NUnit, el tag Category que podes ponerle a un test o un test fixture. Otra cosa, siempre tenes que correr los 250 tests?, no podes correrlos solamente antes de un commit o dejar que lo haga el CC.NET <http://cc.net/> ? Carlos Peix _____ De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de Diego Jancic Enviado el: Miércoles, 07 de Mayo de 2008 03:31 p.m. Para: [email protected] Asunto: [puntonet] Memoria NUnit y TDD 2008/5/7 Carlos Peix <[EMAIL PROTECTED]>: Hola Diego, Mucho cuidado con poner en GC.Collect(), sobre todo en el teardown del test, podes lograr el efecto contrario debido a que pases los objetos de una generacion de recoleccion a la siguiente. Habria que ver si los objetos en memoria estan fuera de scope antes de hacer eso, porque si estan dentro de scope haces macanas seguro. Si.. se los problemas que puede traer, de todas formas lo acabo de intentar y no cambio nada... (volvi a como estaba antes) Yo buscaria mas bien cuestiones de manejo de sesion de NH o trataria de ver si NUnit tiene algun tipo de configuracion disponible para limitar la cantidad de tests que se corren en paralelo. Me fijo.. Otra opcion es que uses otro runner para correr los tests, MBUnit por ejemplo, seguro que hay varios. Esto tiene la ventaja adicional de que estas corriendo los tests en otra plataforma (ademas de NUnit y el test runner de R#) Lo pense, de hecho ahora estoy viendo de usar MBUnit, pero tengo que ver si funciona todo y esta soportado por R#... vere si migro... Otra opcion es marcar los tests por categoria (seguramente ya lo has hecho) y correr varias veces el NUnit, una para cada categoria, sin embargo podes meter la pata con el mantenimiento en este caso porque cuando agregues una categoria deberias ajustar el archivo de NAnt. Si con "categoria" te referis a namespace, si, ya esta hecho. En vez de hacer muchas dlls lo que yo hice fue una dll con carpetas. Igual me preocupa lo que decis del mantenimiento, prefiero otra solucion (Si la hay...) Contanos como te fue. Mal hasta ahora ;-) Carlos Peix Saludos!
