![]() |
1
5
事实上,前几天我自己也遇到了这个问题。您不需要“禁用”解析模块或任何东西。您可以做的是更改使用
如果没有你的代码,我会假设你使用的是标准
然后,每当您随后引用解析的参数时
以下是我自己项目的示例更改:
|
|
2
2
我已经读到你可以使用 nose-testconfig ,或以其他方式使用 mock 到 代替 调用(而不是测试它)。虽然我同意@Ned Batchelder的观点,但这就需要质疑问题的结构。 |
![]() |
3
1
作为解决方法,您可以使用
不过,我同意
|
![]() |
4
0
听起来你有测试运行你的代码,然后你的代码使用argparse,它隐式地从sys.argv中提取参数。这是一种糟糕的代码结构方式。测试中的代码应该以其他方式将参数传递给它,以便您可以控制它看到的参数。 这就是为什么全局变量不好的一个例子。sys.argv是全局的,由整个进程共享。通过依赖全局性,您限制了代码的模块性,因此也限制了可测试性。 |