2009-10-13 20 views
5

Estoy empezando a hacer algunos trabajos de instalación usando WiX (yay, no Installshield) y esperaba hacer algo de TDD del instalador. ¿Alguien sabe de una manera fácil de hacer esto?instaladores de prueba de unidad

Respuesta

6

Me parece más una prueba de integración que TDD.

Por lo que puedo decir, no hay trajes de prueba de MSI per se.

Sin embargo, usted podría intentar algo como esto (suponiendo que tiene un servidor de integración contiunous):

  1. después de la construcción satisfactoria, la instalación de MSI en una máquina virtual limpia - si la instalación no hacer algo (correo, boleto, lo)
  2. plazo lo pruebas de integración que tiene en su proyecto

Después de que usted puede estar seguro de que instalar la aplicación hace lo que debe.

+0

Además de lo anterior, recomiendo instalar varias instalaciones anteriores repetidas veces, especialmente cuando está utilizando un MSI (Windows Installer). De esta manera probablemente corromperá Windows Installer (registro, archivos, etc.) antes de que el usuario experimente esto, y desarrollará una solución. –

0

Puede que no sea una mala idea ejecutar algunas pruebas estándar en una MSI generada. Los archivos MSI admiten una gran cantidad de escenarios de implementación diferentes: instalación administrativa para extraer archivos, instalación anunciada para el directorio activo, instalación silenciosa, instalación de mantenimiento, desinstalación, etc. ... Tal vez sea una idea crear un pequeño conjunto de pruebas para esto, quizás sea incluso se lo considera para el conjunto de herramientas WIX por lo que sé.

Sin embargo, creo que el primer y mejor paso para ofrecer una configuración de calidad sería ejecutar el MSI a través del paquete de validación de MSI. Estos se conocen como ICE (evaluadores de coherencia interna) y se entregan como archivo * .cub con Windows Installer SDK. La ejecución de estos scripts tiende a revelar muchas construcciones de diseño incorrecto en el MSI. La herramienta WIX para esto se llama smoke.exe.

+0

Creo que no hay necesidad de llamar humo explícitamente. Prueba de hielo ligera en darice.cub y mergemod.cub (cuando sea necesario) http://installing.blogspot.com/2006/04/msi-validation-in-wix.html –

2

Tiene sentido, si crea algún archivo de script que compruebe que los archivos están en los lugares correctos. Espero que sea lo más Perl o Python guión

test_installer_wix.pl

msiexec /x product.msi # remove 
msiexec /i product.msi /silent # install 

ASSERT_EXIST_FILE(PFILE, 'productname/application.exe') 
ASSERT_REGKEY_EXISTS() 

y etc