如何解决如何在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中,当我尝试运行测试时,通过在编辑器中单击“运行测试”或“调试测试”链接...
测试在上面的最后一行结束...
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 举报,一经查实,本站将立刻删除。