Huelva: CodeCamp y Madrid: Remix

A ver si mi jefe no me pilla escribiendo esto en horario de trabajo. :).

Hemos estado en dos eventos en los útlimos cuatro días. El primero en la CodeCamp, en Huelva. Evento para estudiantes y profesionales. Una especie de toma de contacto entre ambos sectores en la que pudimos conocer productos, empresas, planes empresariales, experiencias en la sesión de “El diván de Mónica”,en donde tres MVP’s aportaron su testimonio y carrera en esto de la informática, sesiones sobre Silverlight por Jose Murillo, una de Robotics Studio por Miguel Ángel Ramos … y un largo etcétera.

Lo más importante que me llevo de este CodeCamp es las posibilidades y facilidades que hay disponibles para emprendedores que quieran montar su empresa por parte de Microsoft. Continúa leyendo Huelva: CodeCamp y Madrid: Remix

Test unitarios y NUnit

Las máquinas no hacen lo que quieren, hacen lo que nosotros les decimos que hagan.

No sé muy bien dónde lo escuché, ni quien me lo dijo, o si lo vi en algún articulo o en una ppt. Pero es una verdad como un templo. Cuando escribimos código, tanto para un hola mundo como para un sistema de control de un aeropuerto, lo que esperamos de nuestros aporreos de teclado es lo que hagan lo que estábamos pensando mientras escribíamos.

Hay una gran diferencia entre lo que un programador piensa que debe hacer su código y lo que realmente hace el código recién escrito. Y ya no digamos del código que escribimos hace unas semanas.

Hace relativamente mucho tiempo que aparecieron los primeros frameworks para realizar test unitarios, y se van mejorando cada día. Pero, ¿qué son los test unitarios?, para los que no lo sepáis aún, según Ron Jeffries:  “ son programas escritos para ejecutarse uno tras otro. Normalmente comprueban que ante unas entradas predefinidas, los resultados obtenidos van a ser siempre los mismos.”

Es decir, son programas que van a comprobar que nuestro código haga lo que esperamos que haga.

NUnit.

NUnit es un framework más para poder realizar de forma homogénea y estructurada los menesteres que he descrito en el apartado anterior.

Por intentar demostrar que me he mirado esto un poco a fondo, aunque no mucho, os cuento que NUnit es la implementación para la plataforma .NET de otro framework para hacer test unitarios, JUnit. JUnit es un framework para realizar test unitarios para la plataforma Java, que a su vez viene de la plataforma … (y aquí me cansé de investigar).

Todo el tema de los test unitarios ha surgido con las técnicas de desarrollo rápido Extreme Programming. Éstas últimas son técnicas de programación usadas para explotar varios factores del desarrollo software, como son la calidad, claridad, tiempo de desarrollo, eficiencia, y un largo etcétera.

Al grano.
Hablando en plata (“talking in silver”) , básicamente lo que necesitamos para poder hacer test unitarios con NUnit es:  Primero descargárnoslo desde www.nunit.com, y lo segundo es instalarlo.

Una vez lo tengamos instalado ya podemos ponernos a hacer test a mansalva.
La forma en que los hago yo es la siguiente: Me creo un nuevo proyecto de librería C# en visual studio, le añado la referencia a la dll de NUnit. (En la documentación de NUnit os dice dónde la podéis encontrar).

Y listo, ya puedo crear las clases que testearan lo que yo quiera.

Sólo hay que tener en cuenta un par de cosas:

  1. Añadir el atributo TestFixture  a las clases que van a contener los test, por ejempo:

using System;
using NUnit.Framework;
namespace UnitTestingExample
{
    [TestFixture]
    public class SomeTests
    {
    }
}

  1. Tenemos que indicar los métodos que van a hacer los test mediante el atributo Test

 [TestFixture]
  public class SomeTests
  {
    [Test]
    public void UnTest()
    {
           //Hacer algo
    }
  }

Y listo, ya podemos testear lo que queramos.

NUnit nos ofrece un interfaz gráfico para ver los resultados de los test. ¿Cómo lo vemos? Muy fácil, compilamos nuestra librería, ejecutamos el interfaz gráfica que NUnit tiene preparado, en el menú File, seleccionamos Open, y podemos seleccionar la dll compilada que hemos generado con visual studio.

Muchas veces es necesario inicializar algunas cosas para que los test puedan ejecutarse. Por ejemplo, que haya un elemento en la base de datos, que se haya inicializado el valor de algunas variables, etc..

Para ello, están los atributos [TestFixtureSetUp] y  [TestFixtureTearDown]. El primero inicializa todo lo que haya que inicializar ANTES de ejecutar los test, y la última se ejecutará DESPUÉS de ejecutar todos los test, de esta forma:

[TestFixtureSetUp]
public void MetodoDeSetup()
{
  //Código necesario para la inicialización
}

[TestFixtureTearDown]
public void MetodoDeTearDown()
{
  //Codigo
}

Pues nada, espero que os sirva tanto como me ha servido a mi.

Pero NUnit no se queda sólo en esto, tiene muchas cosas más que dejaremos para otros post.

Hope this help.

Autor: Juan María Laó Ramos. Microsoft Student Partner

Instalando Visual Studio Team Foundation Server

Alguien dijo alguna vez que las instrucciones no sirven para nada. Yo diría que no sirven mucho, pero algo sí.

He tenido que instalar Visual Studio Team Foundation Server, y me ha costado un poquito. Al principio no leí las instrucciones, me daba unos cuantos avisos diciendo:

  • El SQL Server Agent no está iniciado, y no está configurado para ejecutarse manualmente.

  • La actualización KBXXXX (No me acuerdo del número) no está instalada.

Y así un largo etcétera.

Despues de ir solventando los diferentes problemas que iban surgiendo. Ya pude iniciar la instalación. Pero “Oh campos mustios de soledad verdes tullidos”, al poco de iniciar la instalación me decía que los servicios Windows Sharepoint Services están configurados para trabajar con WMSDE, y debería estar configurado para trabajar con SQL Server.

Pues bien, aquí, después de leer y releer las instrucciones que iba encontrando, desinstalando los Windows Sharepoint Services, varias veces. No me indicaba dónde poder decirle que usase el SQL Server como motor de base de datos.

Investigando un poco por las cosas que tenía instaladas en el sistema, me dió por señalar la pestaña de “Mostrar las actualizaciones instaladas”

Y bualá, aparecía un componente llamado Windows Microsoft Sql Server Desktop Engine …

Las iniciales me hicieron sospechar: WMSDE, ¿será esto?

Total, que lo desinstalé, y cuando volví a instalar Windows Sharepoint Services porfín me dejaba seleccionar qué origen de datos usar.

Espero que le sirva a alguien.

Autor: Juan María Laó Ramos. Microsoft Student Partner