1

我想测试cookiecutter生成的项目在多种调用模式下的行为。

鉴于以下生成的项目

proj/
    proj/
        __init__.py
        __main__.py

内容__init__.py

def func():
    pass

内容__main__.py

from proj import func

def main():
    func()

if __name__ == '__main__':
    main()

(我已经阅读过关于 的问题__main__.__spec__,这不是这个问题的内容。事实上,我想试驾-TDD-我的这些问题的解决方法)

现在我编写测试,其中生成的项目结构和位置是已知的(例如,可通过 pytest 固定装置获得)

test_run_proj_script():
    """Test behavior of ``python3 ./proj``"""
    pass # how to run this?

test_run_proj_module():
    """Test behavior of ``python3 -m ./proj``"""
    pass # how to run this?

sys.argv奖励:为?注入值

4

0 回答 0