此浏览器不再受支持。
请升级到 Microsoft Edge 以使用最新的功能、安全更新和技术支持。
在 conftest.py 文件中定义固定装置有什么有用的功能?
同一目录中及其子目录中的测试可以按名称请求这些装置,而无需导入它们。
仅在测试文件导入它们时, conftest.py 中定义的固定装置才会运行。
conftest.py 中的固定例程仅可供同一文件中的测试请求使用。
是什么使测试成为 @pytest.mark.parametrize 的良好候选项?
@pytest.mark.parametrize
当同一测试逻辑应针对多个输入值或输入/预期值对运行时。
当需要在一个测试函数中检查不相关的行为时。
当测试需要并行运行时。
如何参数化需要输入值和预期值的测试?
使用逗号分隔的参数名称字符串和元组列表,例如 @pytest.mark.parametrize("test_input, expected_value", [("3+5", 8), ("3*4", 12)])。
@pytest.mark.parametrize("test_input, expected_value", [("3+5", 8), ("3*4", 12)])
对所有输入值使用一个列表,并为所有预期值使用单独的不相关列表。
避免多个参数名称,因为 pytest 不支持它们。
对于 pytest 固定例程而言,scope="module" 的作用是什么?
scope="module"
Pytest 为模块创建并缓存一个固定装置值,然后在 pytest 完成该模块的最后一个测试后将其拆毁。
Pytest 会在模块中的每个断言之前创建新的固定例程值。
Pytest 使得没有 conftest.py 文件也可使用固定例程。
conftest.py
在yield-为基础的装置中,yield之后的代码何时运行?
yield
在 teardown 期间,提出请求的测试或固定例程作用域结束之后。
在 pytest 将固定例程值传递给测试之前。
仅当测试失败时。
在测试中替换函数或环境值时,为什么要使用 monkeypatch 固定例程?
monkeypatch
系统会在提出请求的测试或固定例程结束后自动撤消所做的更改。
它会永久更改应用程序代码,以便以后的测试看到相同的值。
它并行运行参数化测试。
在检查工作前,必须回答所有问题。
此页面是否有帮助?
需要有关本主题的帮助?
想要尝试使用 Ask Learn 阐明或指导你完成本主题?