8. Anexos
8.1. ¿Dónde encontrar Spring?
El sitio web principal de Spring es [http://www.springframework.org/]. Es el sitio web de Java version. La versión version .NET, actualmente en desarrollo (abril de 2005), se encuentra en url [http://www.springframework.net/].

La página de descargas se encuentra en [SourceForge]:

Una vez descargado el archivo zip anterior, descomprímelo:

En este documento, solo hemos utilizado el contenido de la carpeta [bin]:

En un proyecto de Visual Studio que utilice Spring, hay que hacer sistemáticamente dos cosas:
- colocar los archivos anteriores en la carpeta [bin] del proyecto
- añadir al proyecto una referencia al ensamblado [Spring.Core.dll]
8.2. ¿Dónde se encuentra Nunit?
El sitio web principal de Nunit es [http://www.nunit.org/]. La versión version, disponible en abril de 2005, es la 2.2.0:

Descargue este version e instálelo. La instalación crea una carpeta en la que se encuentra el archivo gráfico de prueba version:
Lo interesante se encuentra en la carpeta [bin]:


La flecha anterior señala la utilidad gráfica de prueba. La instalación también ha añadido nuevos elementos al repositorio de ensamblados de Visual Studio que vamos a descubrir ahora.
Creemos el siguiente proyecto de Visual Studio:
La clase sometida a prueba se encuentra en [Personne.vb]:

Public Class Personne
' campos privados
Private _nom As String
Private _age As Integer
' constructor por defecto
Public Sub New()
End Sub
' propiedades asociadas a los campos privados
Public Property nom() As String
Get
Return _nom
End Get
Set(ByVal Value As String)
_nom = Value
End Set
End Property
Public Property age() As Integer
Get
Return _age
End Get
Set(ByVal Value As Integer)
_age = Value
End Set
End Property
' cadena de identidad
Public Overrides Function tostring() As String
Return String.Format("[{0},{1}]", nom, age)
End Function
' método init
Public Sub init()
Console.WriteLine("init personne {0}", Me.ToString)
End Sub
' método close
Public Sub close()
Console.WriteLine("destroy personne {0}", Me.ToString)
End Sub
End Class
La clase de prueba se encuentra en [NunitTestPersonne-1.vb]:
Imports System
Imports NUnit.Framework
<TestFixture()> _
Public Class NunitTestPersonne
' objeto probado
Private personne1 As Personne
<SetUp()> _
Public Sub init()
' se crea una instancia de Persona
personne1 = New Personne
' log
Console.WriteLine("setup test")
End Sub
<Test()> _
Public Sub demo()
' registro en pantalla
Console.WriteLine("début test")
' init personne1
With personne1
.nom = "paul"
.age = 10
End With
' tests
Assert.AreEqual("paul", personne1.nom)
Assert.AreEqual(10, personne1.age)
' registro de pantalla
Console.WriteLine("fin test")
End Sub
<TearDown()> _
Public Sub destroy()
' suivi
Console.WriteLine("teardown test")
End Sub
End Class
Hay varias cosas que hay que tener en cuenta:
- Los métodos cuentan con atributos como <Setup()>, <TearDown()>, ...
- Para que estos atributos sean reconocidos, es necesario que:
- el proyecto haga referencia al ensamblado [nunit.framework.dll]
- la clase de prueba importe el espacio de nombres [NUnit.Framework]
La referencia se obtiene haciendo clic con el botón derecho en [References] en el explorador de soluciones:
![]() | ![]() |

El ensamblado [nunit.framework.dll] debe aparecer en la lista si la instalación de [Nunit] se ha realizado correctamente. Basta con hacer doble clic en el ensamblado para añadirlo al proyecto:

Una vez hecho esto, la clase de prueba [NunitTestPersonne] debe importar el espacio de nombres [NUnit.Framework]:
A continuación, deben reconocerse los atributos de la clase de prueba [NunitTestPersonne].
- El atributo <Test()> designa un método que se va a probar
- el atributo <Setup()> designa el método que se debe ejecutar antes de cada método probado
- el atributo <TearDown()> designa el método que se debe ejecutar después de cada método probado
- el método Assert.AreEqual permite comprobar la igualdad de dos entités.Il existen muchos otros métodos de tipo Assert.xx.
- La utilidad NUnit detiene la ejecución de un método probado tan pronto como falla un método [Assert] y muestra un mensaje de error. De lo contrario, muestra un mensaje de éxito.
Configuremos nuestro proyecto para que genere un DLL:

El DLL generado se llamará [nunit-demos-1.dll] y se colocará por defecto en la carpeta [bin] del proyecto. Generemos nuestro proyecto. Obtenemos en la carpeta [bin]:

Ahora ejecutemos la utilidad de prueba gráfica Nunit. Recordemos que se encuentra en <Nunit>\bin y que se llama [nunit-gui.exe]. <Nunit> designa la carpeta de instalación de [Nunit]. Obtenemos la siguiente interfaz:

Utilicemos el option del menú [File/Open] para cargar el DLL [nunit-demos-1.dll] de nuestro proyecto:

[Nunit] es capaz de detectar automáticamente las clases de prueba que se encuentran en el archivo DLL cargado. En este caso, encuentra la clase [NunitTestPersonne]. A continuación, muestra todos los métodos de la clase que tienen el atributo <Test()>. El botón [Run] permite ejecutar las pruebas en el objeto seleccionado. Si este es la clase [NunitTestPersonne], se prueban todos los métodos mostrados. Se puede solicitar la prueba de un método concreto seleccionándolo y solicitando su ejecución mediante [Run]. Solicitemos la ejecución de la clase:

Una prueba superada en un método se indica con un punto verde junto al método en la ventana de la izquierda. Una prueba fallida se indica con un punto rojo.
La ventana [Console.Out] de la derecha muestra las pantallas generadas por los métodos probados. Aquí hemos querido seguir el desarrollo de una prueba:
- la línea 1 muestra que el método de atributo <Setup()> se ejecuta antes de la prueba
- las líneas 2-3 son generadas por el método [demo] probado (véase el código más arriba)
- la línea 4 muestra que el método de atributo <TearDown()> se ejecuta después de la prueba

