-
La creación de pruebas unitarias requiere al menos lo siguiente: Un framework de pruebas unitarias que debemos dominar. Por lo general son muy simples. Código testeable. Típicamente esto implica código susceptible de ser “aislado”. Nada que decir con respecto al primer punto. Ahora, en cuanto al segundo...
-
Si el compilador de C# pudiera utilizarse como cualquier assembly, podríamos generar código y compilarlo en tiempo de ejecución. Con esto, muchas de las cosas que hoy hacemos mediante CodeDom o Expression trees, las podríamos hacer simplemente concatenando strings (hay maneras mejores). Por ejemplo,...
-
BDD como idea original me parece correctísima. No obstante, la mayoría de los frameworks para llevar sus conceptos a cabo en C# me parecen ridículos. Veamos una misma prueba de ejemplo escrita de dos maneras: Alternativa 1: [Subject( typeof (Account), "Funds tranfer" )] public class When_transferring_between_two_accounts...
-
Una de las características más importante que debe seguir cualquier código y que es particularmente importante en las pruebas de cualquier tipo es la claridad. Una prueba debe entenderse a la primera sin demasiado esfuerzo, por eso es que debe ser breve, clara y desprovista en el mayor grado posible...
-
Las pruebas unitarias debería ser así de cortas y claras: using System; using System.Collections.Generic; using System.Linq; using System.Text; using NUnit.Framework; using Losoft.Temo.Security.Authorization.Exceptions; namespace Losoft.Temo.Security.Authorization.Tests { [TestFixture] public class AdminGroupSpecs...
-
Las recientes experiencias en la industria confirman que para obtener mejoras sustanciales mediante pruebas unitarias es necesario incorporar TDD (Test-Driven Development) como práctica integral del desarrollo. Aunque TDD no es una práctica nueva, solo experiencias recientes en Microsoft, IBM, HP y Ericsson...
-
Esto es elemental pero nunca sobra un poco de repetición: la cobertura de código es una métrica INVERSA. Vamos a ver por qué. En la clase de abajo tenemos un solo método que probar: el ToString(). Queremos que nos devuelva el nombre completo del cliente cada vez que se lo invoque. public class Customer...
-
Imagina que encontramos un clase estática con varios métodos estáticos los cuales tienen una cantidad aberrante de parámetros. Queremos eliminarla pero nos damos con que está siendo usada en muchísimas partes ¿que hacemos? ¿Como lo harias vos?. Para hablar más concretamente veamos uno de esos métodos...
Enviado a
Lucas Ontivero
por
Lucas Ontivero
a fecha de
14/8/2010
Archivado en:
Archivado en: Patterns,Arquitectura,Diseño,.Net,Languages,Patrones,Desarrollo,Conceptos,C#,XP,TDD,Refactoring
-
Desarrollar con TDD al principio no es nada fácil pero luego se vuelve “la manera” de desarrollar. Ahora, no siempre hago TDD, si quiero probar algo tan solo tiro las lineas y listo pero, por otro lado, si quiero hacer algo bien por más que tenga algo de código hecho lo tiro y lo comienzo de nuevo con...
Enviado a
Lucas Ontivero
por
Lucas Ontivero
a fecha de
13/8/2010
Archivado en:
Archivado en: Patterns,Arquitectura,Diseño,.Net,Languages,Patrones,Desarrollo,Conceptos,C#,XP,TDD
-
Hace poco gravé un pequeños video en el que explicaba una realidad que he visto en muchos proyectos respecto de las pruebas unitarias. En síntesis lo que comentaba era que en esos proyectos, los beneficios de las pruebas unitarias no eran visibles mientras que los costos sí lo eran. En problema aparente...
Enviado a
Lucas Ontivero
por
Lucas Ontivero
a fecha de
16/6/2010
Archivado en:
Archivado en: Arquitectura,Diseño,Series,.Net,Project Management,Investigaciones,Gestion de Proyectos,Gestión de proyectos,Desarrollo,Conceptos,C#,Productividad,XP,TDD
-
En mi último post presentaba una métrica (verdaderamente muy mala) sobre mi productividad en un proyecto realizado completamente utilizando TDD de manera estricta. Esta mostraba aproximadamente 9 LOC/Hs. Al mismo tiempo, y como las pruebas y el código los escribí interactivamente, escribía 11 LOC/Hs...
Enviado a
Lucas Ontivero
por
Lucas Ontivero
a fecha de
16/6/2010
Archivado en:
Archivado en: Diseño,Series,Project Management,Investigaciones,Gestion de Proyectos,Gestión de proyectos,Desarrollo,Conceptos,Productividad,XP,TDD
-
Hace poco comencé un nuevo desarrollo y decidí grabar algunos videos de los cuales solo publiqué los primeros tres. Sucede que el hecho de saber que alguien me estaba mirando me hacía prestar mayor atención a mis palabras que al código que debía escribir. No obstante a ello, continué grabándome para...
Enviado a
Lucas Ontivero
por
Lucas Ontivero
a fecha de
14/6/2010
Archivado en:
Archivado en: Arquitectura,Diseño,.Net,Project Management,Investigaciones,Gestion de Proyectos,Gestión de proyectos,Desarrollo,Conceptos,C#,Herramientas,Productividad,XP,TDD
-
Tengo que hacer un sistema de autorización para un sistema algo complejo y me pareció que sería bueno mostrar como se programa/diseña mediante TDD (Test-Driven Development) por lo que gravé las sesiones. Espero que les sirva. (TDD - Ejemplo) Security Access Control 1/X from lucas ontivero on Vimeo ....