【发布时间】:2020-12-06 00:53:52
【问题描述】:
我的项目结构如下所示:
├── myproject
├── conftest.py
├── pytest.ini
└── tests
├── fixtures
├── integration
└── unit
在 pytest.ini 我有这个:
[pytest]
testpaths = tests/unit
project_name = myproject
90% 的时间我只想运行单元测试。我不想经常运行集成测试,因为它们需要更长的时间并且比单元测试更不安全,因为它们实际上会做一些事情
所以我把它们放在另一个文件夹中,将 unit 设置为默认文件夹,每当我想运行它们时,我就这样做:py.test tests/integration 或 py.test tests 运行所有单元和集成测试。我避免使用 pytest 注释,因为我的需求很简单,而且使用两个文件夹似乎可以减少配置开销。
这对我来说非常有效,但现在我想利用 vscode 的 pytest 支持。它只是在“单元”文件夹中获取测试,这一定意味着它是从pytest.ini 读取的。我将pytest.ini 更改为只有顶级“测试”文件夹,vscode 找到了它们。
但是 vscode 似乎没有办法只运行一组测试(通过它的文件夹)。例如,我不知道如何在测试窗口中运行“单元”测试:
那么我如何让 vscode 默认运行所有单元测试,并且还可以选择运行集成测试ad hoc?
是否可以有多个运行配置进行测试?有一个python.testing.cwd 参数,有没有办法我可以有两个测试运行配置并将 python.testing.cwd 设置为每个不同的值,然后从 vscode 测试窗口中选择我想要运行的一个?
【问题讨论】:
标签: python visual-studio-code pytest