小编Cur*_*Pew的帖子

单元测试 __main__.py

我有一个 Python 包(Python 3.6,如果它有所不同),我设计它作为“python -m 参数”运行,我想为 __main__.py 模块编写单元测试。我特别想验证它是否正确设置了退出代码。是否可以使用 runpy.run_module 来执行我的 __main__.py 并测试退出代码?如果是这样,我如何检索退出代码?

更清楚地说,我的 __main__.py 模块非常简单。它只是调用一个经过广泛单元测试的函数。但是当我最初编写 __main__.py 时,我忘记将该函数的结果传递给 exit(),因此我希望在单元测试中模拟 main 函数以确保正确设置退出代码。我的单元测试看起来像:

@patch('my_module.__main__.my_main', return_value=2)
def test_rc2(self, _):
    """Test that rc 2 is the exit code."""
    sys.argv = ['arg0', 'arg1', 'arg2', …]
    runpy.run_module('my_module')
    self.assertEqual(mod_rc, 2)
Run Code Online (Sandbox Code Playgroud)

我的问题是,我如何得到我在这里写的“mod_rc”?

谢谢。

python runpy python-unittest

6
推荐指数
1
解决办法
2867
查看次数

标签 统计

python ×1

python-unittest ×1

runpy ×1