我有一个Python脚本。我使用unittest进行测试,但是如何测试整个脚本呢?
我的想法是这样的:
def test_script(self):
output=runScript('test.py --a 5 --b 3')
self.assertEqual(output, '8') test.py接受参数a和b,并输出a+b,在本例中为8
发布于 2016-01-08 06:53:44
您可以使用subprocess库来调用脚本并捕获输出。
import subprocess
p = subprocess.Popen(
['./test.py', '--a', ...],
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
print p.stdout.read()发布于 2016-01-08 21:28:34
不确定这是否是您想要的,请使用python unittest来结束黑盒测试。
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)https://stackoverflow.com/questions/34666482
复制相似问题