我目前正在从事SAM部署项目,其中包括将python用于Lambda。我使用 pytest 创建了测试,并在终端上运行良好。但是在终端上很难读懂。我想以某种方式进行像Visual Studio 2019的测试功能这样的测试,该测试干净整洁,易于查看。
使用VS CODE(当我在处理python文件时),我安装了Test Explorer UI并支持python测试。一旦打开它,它将加载大量测试,包括我在部署中拥有的第3方库的测试,并且会打乱我的测试浏览器。无论如何,我都不需要这些测试,但是我不知道如何排除它们。
我也想只手动包括指定的测试文件(如果可能的话)。我没有用过测试浏览器自动检测的大量测试。
答案 0 :(得分:1)
我知道这是一个迟到的答复,但是仍然有解决方案。由于您使用的是pytest,因此我将提供该测试框架的详细信息。
Python Test Explorer知道pytest参数,并且大多数pytest参数可用于修改测试发现和执行,就像在命令行中使用pytest一样。因此,例如,如果要排除某些文件夹,则可以使用--ignore=relative/path/to/some/folder
参数。参见pytest documentation on --ignore
option。
如果只想 包含一些测试或文件夹,则其工作原理几乎相同。对此没有特殊的选择,仅列出要包括的文件和文件夹,例如relative/path/to/some/folder
或relative/path/to/some/test_file.py
。参见pytest documentation on selecting tests。
现在,您必须告诉Python Test Explorer要包含/排除哪些测试。这可以通过python.testing.pytestArgs
中的settings.json
选项来完成。例如,
"python.testing.pytestArgs": ["--ignore=relative/path/to/some/folder"]
或
"python.testing.pytestArgs": [
"relative/path/to/some/folder",
"relative/path/to/some/test_file.py"
]
最后一个示例的完整settings.json
:
{
"python.pythonPath": "python",
"python.testing.pytestEnabled": true,
"python.testing.pytestArgs": [
"relative/path/to/some/folder",
"relative/path/to/some/test_file.py"
]
}
注意:这些设置也可以在pytest.ini
或其他pytest配置文件中进行设置。在这种情况下,无需修改settings.json
。