如何在VSCode中以与在命令行上相同的方式运行单个测试?

问题描述

我正在将Visual Studio Code 1.39.2和PyTest 6与Python 3.8结合使用。我有这个pytest.ini文件

[pytest]
addopts = --docker-compose=./tests/docker-compose.yml --docker-compose-remove-volumes
env_override_existing_values = 1
env_files =
    tests/.test_env

在下面,我将其放在conftest.py文件的顶部...

def pytest_configure(config):
    use_docker = False
    try:
        use_docker = config.getoption("--docker-compose-remove-volumes")
    except:
        pass
    plugin_name = 'wait_for_docker' if use_docker else 'wait_for_server'
    logging.info("\n\n\ndocker value %s", use_docker)
    logging.info("\n\n\n\n\nplugin name %s", plugin_name)
    if not config.pluginmanager.has_plugin(plugin_name):
        config.pluginmanager.import_plugin("tests.plugins.{}".format(plugin_name))

但是,仅在Visual Studio Code中,当我尝试运行测试时,通过在编辑器中单击“运行测试”或“调试测试”链接...

enter image description here

测试在上面的最后一行结束...

    config.pluginmanager.import_plugin("tests.plugins.{}".format(plugin_name))

出现以下错误....

INTERNALERROR> ValueError: Plugin already registered: tests.plugins.wait_for_docker=<module 'tests.plugins.wait_for_docker' from '/Users/davea/Documents/workspace/my_project/tests/plugins/wait_for_docker.py'>

如果我在命令行上自行运行测试,则不会发生...

pytest tests/functions/test_my_stuff.py

VS Code加载插件是否有所不同,或者是否需要清除一些缓存数据才能使某些功能像命令行一样工作?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...