python - how can I redirect the output of unittest? Obvious solution doesn't work
Here is my code: import unittest import sys import os class DemoTest(unittest.TestCase): def test_one(self): print "test one" self.assertTrue(True) def test_two(self): print "test two" self.assertTrue(False) if __name__ == '__main__': dirpath = os.path.dirname(os.path.abspath(__file__)) sys.stdout = open(dirpath+'/test_logs/demo_test.stdout.log', 'w') sys.stderr = open(dirpath+'/test_logs/demo_test.stderr.log', 'w') test_program = unittest.main(verbosity=0, exit=False) When I run this, the contents of demo_test.stdout.log is only: test one test two on the screen I still see the output from