我正在尝试在 python 中模拟导入以进行测试。我的代码看起来像这样。
"""Python file description."""
import sys
import pytest
import datetime as dt
from unittest.mock import Mock
sys.modules['module_A'] = Mock()
from module_to_test import function_to_test
我需要模拟的地方
module_A
作为 module_to_test
的依赖项.保存时,VSCode 按字母顺序自动排序,因此在尝试从具有依赖项的模块导入后创建 Mock。
如何防止排序导入对文件子集进行排序?这可能是通过文件列表、glob、正则表达式或类似的?
测试文件的全局模式
./tests/test_*.py.
更新 - 下面发布的部分解决方案。
最佳答案
如果像我一样,您的 VSCode 配置使用 isort(不是 autopep8)进行导入排序,那么您可以选择性地覆盖它,如下所示:
app = Flask(__name__)
from . import views # isort:skip
即添加 # isort:skip
对不想跳转到文件顶部的导入进行注释。来源:https://github.com/timothycrosley/isort#skip-processing-of-imports-outside-of-configuration
关于python - 如何在 VS Code 中为选择的文件、glob 或类似文件关闭排序导入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55511895/