Con MS metiendo powershell en todos los nuevos productos de servidor, estoy empezando (a regañadientes) a pensar que debo tomarlo en serio. Parte de "tomarlo en serio" es TDD. ¿Has encontrado buenos métodos para probar los guiones del intérprete de comandos de potencia?¿Cómo hacer TDD y pruebas unitarias en powershell?
He encontrado muestras de burlas desde Mr Geek Noise - pero realmente me gustaría algo como RhinoMocks. Brian Hartsock tiene una muestra de pruebas en ejecución en cadenas de powershell de MS Test. Un poco hacky, pero parece funcionar.
Lo que quiero es una experiencia Powershell TDD que sea tan limpia como en los idiomas "reales".
actualización para aclarar:
Las primeras dos respuestas intento de alejarse de las pruebas de Powershell. Las opiniones son interesantes. No quiero saber si es una buena idea probar en PowerShell. Esa es una pregunta subjetiva que debe hacerse en un foro diferente. Quiero una solución para probar la unidad powershell. Si crees que es una mala idea (podría ser), trátala como una pregunta académica divertida.
- Sí, los lenguajes de script pegan juntos los sistemas dispares. Sin embargo, como ya se señaló, también es fácil burlarse y romper costuras en un lenguaje dinámico.
- No estoy preguntando sobre "depuración". La depuración es un tema extremadamente útil. Dejaré que alguien más lo pregunte.
- Quizás las secuencias de comandos PS sean simples. El lenguaje admite modularidad y es inevitable que se implementen procesos complejos en PS (incluso si es una mala idea).
- La respuesta a esta pregunta no es "No se puede". Puedo ver (de blogs vinculados, que son un poco viejos) que algunas personas han avanzado en el problema.
Para restablecer: ¿Cómo implementar una prueba automatizada de la lógica de Powershell en el estilo de xUnit? Las pruebas de integración son interesantes, pruebas unitarias que rompen las dependencias más interesantes.
mira en http://stackoverflow.com/questions/1004424/is-there-a-unit-testing-framework-for-testing-powershell-with-powershell-scripts hay una pregunta similar con algunos enlaces (PSUnit y la publicación de Lee Holmes) – stej
Nunca tome Powershell a la ligera. Es increíblemente poderoso con un código mínimo. – D3vtr0n