2016-01-07 3 views
1

У меня есть скрипт Python. Я использую unittest для тестов, но как я могу проверить весь скрипт.Python test весь скрипт

Моя идея что-то вроде этого:

def test_script(self): 
    output=runScript('test.py --a 5 --b 3') 
    self.assertEqual(output, '8') 

test.py принимает аргумент а и б и печати A + B, в этом случае 8

ответ

1

Вы можете использовать subprocess библиотеку для вызова сценария и захватить вывод.

import subprocess 

p = subprocess.Popen(
    ['./test.py', '--a', ...], 
    stdout=subprocess.PIPE, 
    stderr=subprocess.STDOUT 
) 

print p.stdout.read() 
0

Не уверен, что это то, что вы хотите, использовать питон UnitTest завернуть тестирование BlackBox

import unittest # install and import 

обернуть тест в TestCase

class ScriptTest(unittest.TestCase): 
    def test_script(self): 
     output=runScript('test.py --a 5 --b 3') 
     self.assertEqual(output, '8') 

добавить TestCase в UnitTest

if __name__ == '__main__': 
    suite = unittest.TestLoader().loadTestsFromTestCase(ScriptTest) 
    unittest.TextTestRunner(verbosity=2).run(suite) 
Смежные вопросы