我的项目结构如下所示:
├── myproject
├── conftest.py
├── pytest.ini
└── tests
├── fixtures
├── integration
└── unit在pytest.ini中,我有以下内容:
[pytest]
testpaths = tests/unit
project_name = myproject90%的时间我只想运行单元测试。我不想经常运行集成测试,因为与单元测试相比,它们花费的时间更长,安全性更低,因为它们实际上是在执行任务。
因此,我将它们放在另一个文件夹中,将unit设置为默认文件夹,每当我想运行它们时,我只需这样做:py.test tests/integration或py.test tests来运行所有单元和集成测试。我避免了pytest注释,因为我的需求很简单,使用两个文件夹似乎要少得多的配置开销。
这对我来说真的很好,但是现在我想利用vscode的pytest支持。它只是在“单元”文件夹中获取测试,这意味着它正在从pytest.ini中读取测试。我将pytest.ini更改为只有顶级的"test“文件夹,vscode找到了这两个文件夹。
但是vscode似乎无法只运行一组测试(通过它的文件夹)。例如,我无法找到如何在测试窗口中运行“单元”测试:

那么,如何让vscode在默认情况下运行所有单元测试,同时也可以随意地运行集成测试?
是否可能有多个用于测试的运行配置?有一个python.testing.cwd参数,有什么方法可以让我有两个测试运行配置,并将每个配置的python.testing.cwd设置为不同的值,然后选择从vscode测试窗口运行哪个配置?
发布于 2021-04-15 16:18:33
我非常希望能够在文件夹级别上运行一个测试,右边有一个小的play按钮(它是如何为模块级运行的)。
作为一种糟糕的解决方法,我只是在需要时添加字段来忽略配置中的特定测试(工作区或诸如此类)。
"python.testing.pytestArgs": [
"--ignore=integration",
],https://stackoverflow.com/questions/63441495
复制相似问题