Pytest未收集任何测试项求助:测试代码无执行效果
Pytest未执行测试的排查与修复
核心原因是你的测试函数不符合Pytest的自动识别规则:Pytest只会自动运行以test_开头的函数,你的函数名(比如two_letr、min_max)都不满足这个要求,所以被跳过了。
修复后的测试代码
from plates import is_valid def test_two_letr(): assert is_valid("Aa2222") == True # 原断言返回"hello"应为笔误,is_valid设计上应返回布尔值,修正为False assert is_valid("22aa22") == False def test_min_max(): assert is_valid("aa3") == False assert is_valid("aaaa2222") == False assert is_valid("aa") == True assert is_valid("aaaa22") == True def test_mid(): assert is_valid("aaa22a") == False assert is_valid("aaa222") == True assert is_valid("aa2a00") == False def test_zero(): assert is_valid("aaa022") == False assert is_valid("aa0222") == False def test_sup_space(): assert is_valid("aaa./0") == False assert is_valid("aa0 ") == False assert is_valid("./?! ") == False
额外注意事项
- 测试文件名建议遵循规范,比如命名为
test_plates.py,Pytest会自动扫描这类命名的文件。 - 运行测试时可加
-v参数查看详细日志,比如执行pytest test_plates.py -v,能看到每个测试用例的执行状态。 - 原代码中
assert is_valid("22aa22") == "hello"不符合逻辑,is_valid函数应返回布尔值,修正后才能保证测试的有效性。
内容的提问来源于stack exchange,提问作者liam amv
相关产品推荐
相关产品推荐

