Comencé a trabajar en un proyecto Python bastante grande (multiproceso), con un montón de pruebas (unitarias). El problema más importante es que la ejecución de la aplicación requiere un entorno preestablecido, que es implementado por un administrador de contexto. Hasta ahora hicimos uso de una versión parcheada del ejecutor de pruebas unitarias que ejecutaría las pruebas dentro de este administrador, pero que no permite cambiar el contexto entre diferentes módulos de prueba.
Tanto nose como pytest admiten tal cosa porque admiten accesorios en muchas granularidades, por lo que estamos buscando cambiar a nose o pytest. Ambas bibliotecas también admitirían pruebas de 'etiquetado' y ejecutarían solo estos subconjuntos etiquetados, que es algo que también nos gustaría hacer.
He estado revisando la documentación de nose y pytest un poco, y por lo que puedo ver, la mayor parte de esas bibliotecas esencialmente admiten la misma funcionalidad, excepto que puede tener un nombre diferente o requerir una sintaxis ligeramente diferente. Además, noté algunas pequeñas diferencias en los complementos disponibles (nose tiene soporte multiproceso, pytest no parece, por ejemplo)
Por lo que parece, el diablo está en los detalles, lo que significa (a menudo al menos) en el gusto personal y es mejor que vayamos con la biblioteca que mejor se ajuste a nuestro gusto personal.
Entonces, pediría una argumentación subjetiva de por qué debería ir con nose o pytest para elegir la combinación de biblioteca / comunidad que mejor se adapte a nuestras necesidades.