¿Cuál es la mejor manera de pasar datos a Python Unittest Redirected STDIN o Pickle?

Pregunta corta
¿Cuál es la mejor manera de obtener datos en un caso de prueba de unidad de Python?

Fondo
Mi proyecto utiliza el módulo unittest de Python como una forma automática de ejecutar una serie de pruebas que deberán ejecutarse en muchas de las mismas tablas. Hasta ahora, este es un buen ajuste para lo que fue diseñado el módulo unittest; El problema es que cada caso de prueba debe saber ejecutar información específica para almacenar en una base de datos Django.

Los datos que se deben pasar incluyen un número de serie, quién probó la placa, la fecha y otras cosas de esta naturaleza. Vale la pena señalar que el orden en el que se probarán los tableros es elegido por un humano que saca el tablero X de una caja, por lo que no es posible predecir el número de serie.

Pensamientos
Actualmente, estoy pasando los datos requeridos hacia y desde los casos de prueba a través de pickle. Este método funciona bien en pruebas pequeñas, pero mi preocupación es leer y escribir en el mismo archivo 100k veces más espacio para la corrupción de datos (+ no es tan rápido). Escribí una respuesta a una pregunta de SO que redirige el stdin de una manera que creo que podría funcionar bien para esta aplicación también.

El siguiente paso será envolver una GUI en torno a estas pruebas. Un objective personal sería tener la capacidad de ejecutar las pruebas a través de la línea de comandos y luego hacer que la GUI llame a las mismas funciones de la línea de comandos. Por esta razón, me estoy inclinando hacia el traslado hacia el principio redirigido.

Información del sistema / implementación
Soporte de SO requerido: Windows XP y Windows 7
Soporte ideal para SO: Mac OS X y Linux
Versión de Python: 2.7

Cualquier pensamiento o comentario sería muy apreciado.

He creado pruebas de unidad que prueban contra un servicio de terceros (Zoho CRM). Para probar la API de servicio, debe almacenar los nombres de usuario y la contraseña.

Dado que este es un servicio premium y está creando software de código abierto, naturalmente, no puede codificar sus credenciales de inicio de sesión al código fuente mismo.

Así que terminé usando variables de entorno – funciona bastante bien:

Aquí está el ejemplo:

https://github.com/miohtama/mfabrik.zoho/blob/master/mfabrik/zoho/tests.py

Como un problema mayor, creo que tratar de imponer el módulo de pruebas unitarias para hacer algo que no debía hacer en primer lugar no es una buena idea. Tal vez debería intentar escribir su propio corredor de prueba de unidad que haría los preparativos necesarios (obtener información, almacenar resultados) en algún lugar.