Estoy intentando registrar el resultado de las pruebas en un archivo de texto. Estoy usando el módulo unittest y quiero registrar los resultados en un archivo de texto en lugar de la pantalla. Tengo un guion aquí para explicar lo que se ha intentado hasta ahora. Este es el guión de prueba.Registrar la salida Unittest en un archivo de texto
import unittest, sys
class TestOne(unittest.TestCase):
def setUp(self):
self.var = 'Tuesday'
def tearDown(self):
self.var = None
class BasicTestOne(TestOne):
def runTest(self):
TestOne.setUp(self)
self.assertEqual(self.var, 'Tuesday')
class AbsoluteMoveTestSuite(unittest.TestSuite):
# Tests to be tested by test suite
def makeAbsoluteMoveTestSuite():
suite = unittest.TestSuite()
suite.addTest(TestOne("BasicTestOne"))
return suite
def suite():
return unittest.makeSuite(TestOne)
if __name__ == '__main__':
unittest.main()
Lo he agregado al archivo pero parece que no funciona.
log_file = 'log_file.txt'
sys.stout = sys.sterr = open(log_file, 'w')
return suite >> sys.stout
y también:
log_file = 'log_file.txt'
return suite >> open(log_file, 'w')
He intentado varias versiones diferentes de este comando.
if __name__ == '__main__':
unittest.main() >> open(log_file, 'w')
He intentado esto. Quiero que el archivo de registro se almacene y se cree dentro del script de python. No quiero tener que llamar al python tests.py >> log_file.txt
.
Gracias por cualquier ayuda
@Andrew Cox - Esto funcionó. Gracias – chrissygormley