1
我有一個Python腳本。我使用unittest
進行測試,但是如何測試整個腳本。Python測試整個腳本
我的想法是這樣的:
def test_script(self):
output=runScript('test.py --a 5 --b 3')
self.assertEqual(output, '8')
test.py採用參數a和b和打印A + B,在這種情況下,8
我有一個Python腳本。我使用unittest
進行測試,但是如何測試整個腳本。Python測試整個腳本
我的想法是這樣的:
def test_script(self):
output=runScript('test.py --a 5 --b 3')
self.assertEqual(output, '8')
test.py採用參數a和b和打印A + B,在這種情況下,8
可以使用subprocess庫調用腳本並捕獲輸出。
import subprocess
p = subprocess.Popen(
['./test.py', '--a', ...],
stdout=subprocess.PIPE,
stderr=subprocess.STDOUT
)
print p.stdout.read()
不知道這是你想要的,使用Python單元測試的收官之黑盒測試
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')
添加測試用例到單元測試
if __name__ == '__main__':
suite = unittest.TestLoader().loadTestsFromTestCase(ScriptTest)
unittest.TextTestRunner(verbosity=2).run(suite)