Pregunta breve
¿Cuál es la mejor forma de obtener datos en un caso de prueba de Python?¿Cuál es la mejor forma de pasar datos a Python Unittest Redirected STDIN or Pickle?
Antecedentes
Mi proyecto está utilizando el módulo unittest de Python como una forma automatizada ejecutar una serie de pruebas que tendrán que funcionar con muchos del mismo tipo de tablas. Hasta ahora, esto encaja perfectamente con el diseño del módulo unittest; el giro es que cada caso de prueba necesita saber ejecutar información específica para almacenar en una base de datos de Django.
Los datos que deben pasarse incluyen un número de serie, que probó la placa, la fecha y otras cosas de esta naturaleza. Vale la pena señalar que el orden en que se probarán los tableros es elegido por un humano que extrae 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 desde y hacia los casos de prueba a través de la salmuera. Este método funciona bien en pruebas pequeñas, pero mi preocupación es leer y escribir en el mismo archivo 100k + veces que da mucho espacio para la corrupción de datos (+ no es tan rápido). Escribí una respuesta a un SO Question que redirige el código fuente de una manera que creo que también podría funcionar para esta aplicación.
El siguiente paso será ajustar una GUI a estas pruebas. Un objetivo personal sería tener la capacidad de ejecutar las pruebas a través de la línea de comando y hacer que la GUI llame a las mismas funciones de línea de comando. Por esta razón, me inclino por moverme al stdin redirigido.
Sistema/Información sobre la implementación
Obligatorio SO compatibles: Windows XP y Windows 7
Ideal Soporta Sistema Operativo:
versión Python Mac OS X y Linux: 2.7
Cualquier pensamiento o comentarios sería muy apreciada .
con respecto a la lectura del mismo archivo 100 veces + veces: creo que el sistema operativo leerá el archivo una vez y luego intentará mantenerlo en la memoria, eliminando así el tiempo de lectura y el desgaste del disco. –
@bgbg: No lo veo de esta manera, pero estoy de acuerdo con su evaluación. –