首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python测试整个脚本

Python测试整个脚本
EN

Stack Overflow用户
提问于 2016-01-08 06:36:43
回答 2查看 917关注 0票数 2

我有一个Python脚本。我使用unittest进行测试,但是如何测试整个脚本呢?

我的想法是这样的:

代码语言:javascript
复制
def test_script(self):
    output=runScript('test.py --a 5 --b 3')
    self.assertEqual(output, '8') 

test.py接受参数a和b,并输出a+b,在本例中为8

EN

回答 2

Stack Overflow用户

发布于 2016-01-08 06:53:44

您可以使用subprocess库来调用脚本并捕获输出。

代码语言:javascript
复制
import subprocess

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

print p.stdout.read()
票数 2
EN

Stack Overflow用户

发布于 2016-01-08 21:28:34

不确定这是否是您想要的,请使用python unittest来结束黑盒测试。

代码语言:javascript
复制
import unittest # install and import

将测试包装在TestCase中

代码语言:javascript
复制
class ScriptTest(unittest.TestCase):
    def test_script(self):
        output=runScript('test.py --a 5 --b 3')
        self.assertEqual(output, '8')

将TestCase添加到unittest

代码语言:javascript
复制
if __name__ == '__main__':
    suite = unittest.TestLoader().loadTestsFromTestCase(ScriptTest)
    unittest.TextTestRunner(verbosity=2).run(suite)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34666482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档