我有一个具有以下结构的python项目
test/ # unit tests to be run with nosetest
bin/ # utilities written in python to be installed
packagename/ # code for the package
例如,bin/python_command
可能包含:
@cmdline.command(usage='subcommand1 description')
def cmd_mysubcommand1(opts, args):
'''Code for python_command mysubcommand1'''
if __name__ == '__main__':
cmdline.main('Description of python_command')
其中 cmdline 只是一个库,用于帮助解析参数和子命令的样板代码。
问题是,通过在目录中包含测试来对bin/python_command
(特别是)的所有子命令进行单元测试的最佳实践是什么?(即它们应该集成到我当前的单元测试套件中)。cmd_mysubcommand1
test
理想情况下,我想提供每个命令的文本命令行,而不是专门测试最终的子命令功能(以检查子命令的解析是否正常工作)。
我刚刚阅读了有关scripttest的内容,但我不知道它是否与 unittest python 库很好地集成,以及它是否支持模拟子命令中使用的一些对象(这对我来说是必须的)。