我main在包的setup.py内部指定了一个函数作为入口点,该函数使用该argparse包来传递命令行参数(请参见此处的讨论):
# file with main routine specified as entry point in setup.py
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument('a', type=str, help='mandatory argument a')
args = parser.parse_args()
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想main在软件包的测试中使用此处建议的相同功能。在后一种情况下,我想main从测试类中调用函数,并在函数调用之前设置(某些)命令行参数(否则会由于缺少参数而失败)。
# file in the tests folder calling the above main function
class TestConsole(TestCase):
def test_basic(self):
set_value_of_a()
main()
Run Code Online (Sandbox Code Playgroud)
那可能吗?