如何解决vscode可以在文件夹级别运行pytests而不是仅运行所有测试或仅运行单个测试吗?
我的项目结构如下:
├── 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支持。它仅在“ unit”文件夹中进行测试,这必须表示它是从pytest.ini中读取的。我将pytest.ini更改为仅具有顶层“测试”文件夹,而vscode都找到了这两个文件夹。
但是vscode似乎无法提供仅运行一组测试(通过其文件夹)的方法。例如,我找不到如何在测试窗口中运行“单元”测试的方法:
那么,我如何让vscode在默认情况下运行所有单元测试,并有选择地运行集成测试adhoc?
是否可以有多个运行配置用于测试?有一个python.testing.cwd
参数,有没有一种方法可以让我有两个测试运行配置,并将python.testing.cwd的每个设置为不同的值,然后从vscode测试窗口中选择要运行的配置?
解决方法
我真的很喜欢能够在文件夹级别运行测试的功能,右侧有一个小播放按钮(它是如何在模块级别执行的)。
作为一个糟糕的解决方法,我只是在需要时添加字段以忽略您的配置(工作区或诸如此类)中的特定测试。
"python.testing.pytestArgs": [
"--ignore=integration",],
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。