Python测试整个脚本

标签 python unit-testing python-3.x testing automated-tests

我有一个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

最佳答案

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

import subprocess

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

print p.stdout.read()

关于Python测试整个脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34666482/

相关文章:

python-3.x - python 3 hashlib.sha256().update(newcontent) 似乎不会覆盖旧内容

python - 我应该在我编写的每个 Python 脚本中包含这个样板代码吗?

python - 全局名称 're' 未定义

python - MiniBatchKMeans.fit 和 MiniBatchKMeans.partial_fit 之间的区别

python - Django:即使不在 settings.py 中,APPEND_SLASH 是否设置为 True?

unit-testing - 在哪里保存单元测试数据?

django - django 表单提交的单元测试

c++ - 如何在 C++ 的谷歌测试中匹配双 vector 的元素?

mysql - SQLAlchemy 0.9.4 过滤组

当搜索字段为空时,Django SearchFilter 显示所有数据