shi*_*eng 10 python unit-testing subprocess
我正在编写一个包含大量文件操作的程序.有些操作是通过调用完成 subprocess.Popen,例如split -l 50000 ${filename},gzip -d -f ${filename} ${filename}..
现在我想单元测试程序的功能.但是我怎么能对这些功能进行单元测试?
有什么建议?
mgi*_*son 10
规范的方法是模拟对Popen的调用,并用一些测试数据替换结果.看看mock图书馆文档.1
你会做这样的事情:
with mock.patch.object(subprocess, 'Popen') as mocked_popen:
mocked_popen.return_value.communicate.return_value = some_fake_result
function_which_uses_popen_communicate()
Run Code Online (Sandbox Code Playgroud)
现在你可以做一些检查或者你想要测试的任何东西......
1请注意,这包含在标准库中,如unittest.mockpython3.3中所示.
| 归档时间: |
|
| 查看次数: |
2711 次 |
| 最近记录: |