Herramientas para Unit Test

Si ya has leído la entrada sobre ¿Qué son los Unit Test? probablemente te habrás fijado en un Data Annotation que hay sobre el método de test, llamada precisamente [Test]. En esta entrada explico su utilidad y por qué debe estar ahí, preparando nuestro framework para hacer unit test.

En primer lugar te daré una mala noticia, no todas las versiones de visual studio permiten integrar unit test, y si no tienes acceso a una versión que si lo permita, necesites instalar herramientas externas.

De momento voy a centrarme en versiones de Visual Studio que integran lo necesario para desarrollar Unit Testing, como Ultimate o Enterprise.

Podremos usar librerías nativas de microsoft, no obstante por ventajas que comento en esta entrada recomiendo usar las siguientes librerías.

  • NUnit
  • NUnit3TestAdapter
  • RhinoMocks

Todos ellos los puedes descargar desde el administrador de paquetes Nuget.

Para comenzar a probar tu código crea en tu solución un nuevo proyecto de tipo proyecto de  prueba unitaria.

New project unit test

Una vez tengas tu proyecto, debes referenciar aquellas .dll o proyectos que contienen el código que quieres testear, en definitiva, el sistema que vas a someter a test (Sistem Under Test – SUT).

Visual Studio necesita identificar tus clases de test, así como cada uno de los métodos que identificarán un test.

Tus clases de test serán reconocidas por el framework añadiendo el Data Annotation [TestFixture] propio de NUnit, el cual podrá reemplazar al [TestClass] nativo de las librerías de microsoft.

Los métodos deberán ser reconocidos añadiendo el Data Annotation [Test] (también de NUnit), que reemplazará a [TestMethod] de las librerías de microsoft.

Además, explotando características de NUnit, podremos usar un método de Setup, que será útil para inicializar todos los test de una misma clase. Esto lo conseguiremos mediante el Data Annotation [SetUp].

Ejemplo

En el ejemplo estamos preparando una clase de test (ValidationServiceTest) para testear métodos de la clase ValidationService, puedes encontrar un ejemplo introductorio con un test de esta clase en mi entrada ¿Qué son los Unit Test?.

Así de simple es instalar las herramientas necesarias para hacer unit test y preparar una clase que pueda contener una batería de test a ser ejecutada. A continuación te recomiendo ir a la siguiente entrada sobre la ejecución de unit test, donde explico como lanzar tus test y observar sus resultados.

Deja un comentario