4 de Septiembre 2003

nUnit Project Config Macro

Al final siempre que me pongo acabo liandome.


Despues de tener la macro funcionando, me di cuenta de que estaria bien poder
configurar un par de parametros, como la versión de NUnit, o si se quiere usar
el runner GUI o de consola.

Asi que manos a la obra:

el TODO LIST:

1) Mostrar un Formulario desde una Macro
2) Acceder a las propiedades de configuración desde la Macro
3) Pones Nombres a las clases resultantes
4) Ejecutar la Macro desde el Formulario
5) Probar con varios proyectos en una solución.

Solutions

1) Lo más sencillo, crear un Formulario con VB.NET,
copiar y pegar en el proyecto de Macros.

En el punto de entrada de la Macro:

  
 ConfUI = New NUnitProjectConfigUI
  ConfUI.ShowDialog()
 

Con esto ya tenemos accesible al form desde la Macro.

Los datos de localización de los binarios de NUNit los dejamos como constantes en un Modulo.

  
     Public Const BASE_PATH As String = "c:\Program Files\NUnit "
     Public Const NUNIT_FX As String = "\bin\nunit.framework.dll"
     Public Const REF_ID As String = "nunit.framework"
     Public Const CONSOLE_RUNNER As String = "\bin\nunit-console.exe"
     Public Const GUI_RUNNER As String = "\bin\nunit-gui.exe"
 

2) Definimos las propiedas publicas que necesitamos desde la Macro

  
     Public WriteOnly Property CurrentProject() As String
     Public ReadOnly Property NUnitFxPath() As String
     Public ReadOnly Property CurrentRunner() As String
     Public ReadOnly Property StartArgsPrefix() As String
 

La implementación de estas propiedades se basa en los controles seleccionados en
el Formulario (para más detalle ver fichero adjunto).

3) Ahora que ya tenemos unas cuantas clases es el momento de pensar de nuevo
los nombres (suelo cambiar el nombre de las clases, funciones y parametros tres
o cuatro veces antes de encontrar la definitiva)

  
Public Module NUnitProjectEnabler
Public Module NUnitConstants
Friend Class NUnitProjectConfigUI
Inherits System.Windows.Forms.Form

4) Ejecutar una función en NUnitProjectEnabler
desde el formulario NUnitProjectConfigUI implicaba tener una referencia
a la macro desde el UI, esto es crear un Dependecia entre el Form y la
macro, cosa poco recomendable.

Para evitar esta dependencia se han definido dos delegates de forma
que el módulo NUnitProjectEnabler, despues de instanciar el formulario NUnitProjectConfigUI
decide que función se debe ejecutar en respuesta a un click del usuario.

  
         Friend Delegate Sub ConfigureProjectDelegate()
         'NUnitProjectConfigUI 
          Public ConfHandler As ConfigureProjectDelegate
          Public ResetHandler As ConfigureProjectDelegate
 
 

NUnitProjectEnabler
ConfUI.ConfHandler = New ConfigureProjectDelegate(AddressOf EnableProject)
ConfUI.ResetHandler = New ConfigureProjectDelegate(AddressOf ResetProject)

5) Este punto es donde me he quedado, todavia no he entendido muy bien el modelo
de objetos de EnvDTE, asi que de momento se queda en la lista, y se usara el proyecto
seleccionado antes de ejecutar la macro.

Descargar: NUnit_VSConfig_Macro


Posted by rido at 4 de Septiembre 2003 a las 09:20 PM
Comments

De gustibus non est disputandum - There's no accounting for taste

Posted by: pantyhose mpegs on 15 de Julio 2004 a las 05:22 AM

Fide, non armis - By faith, not arms

Posted by: cum on panties on 15 de Julio 2004 a las 08:41 AM

Qui scribit bis legit - He who writes reads twice

Posted by: colorado gay chat on 19 de Julio 2004 a las 12:56 PM

Ventis secundis, tene cursum - Go with the flow

Posted by: watersport on 24 de Julio 2004 a las 04:56 AM

Vale, lacerte! - See you later, alligator!

Posted by: outdoors suspension bondage on 5 de Agosto 2004 a las 01:57 AM

Nullius in verba - (Rely) on the words on no one (Horace)

Posted by: peeing stories on 10 de Agosto 2004 a las 06:16 AM

Sequens mirabitur aetas - The following age will be amazed

Posted by: map on 27 de Agosto 2004 a las 09:57 PM

Tetigisti acu - You have hit the nail on the head. (Plautus)

Posted by: teen lesbians playing with each other on 28 de Agosto 2004 a las 08:57 AM

Nil Sine Numine - Nothing without providence

Posted by: erotic pregnant sex stories on 11 de Septiembre 2004 a las 10:19 PM

Ab imo pectore - From the bottom of the chest (from the heart)

Posted by: sexy pregnant women on 12 de Septiembre 2004 a las 10:19 AM

Risu inepto res ineptior nulla est - There is nothing more foolish than a foolish laugh. (Catullus)

Posted by: monster cock olsen twins on 18 de Septiembre 2004 a las 07:41 PM
Post a comment