在使用 pytest 进行测试时,测试结果的输出中会包含一些符号来表示每个测试用例的执行状态。以下是常见的符号及其含义:
. (点):
E:
E 后面会跟随详细的错误信息,帮助你定位问题。s:
@pytest.mark.skip 或者满足某些跳过的条件(例如,某些依赖项不可用)。F:
E 不同,F 通常表示测试断言失败,而不是测试代码本身抛出异常。x:
@pytest.mark.xfail,表示你预期这个测试会失败,并且如果它真的失败了,pytest 会将其标记为 x。X:
@pytest.mark.xfail,但你预期它会失败,结果它却通过了。!:
假设你有以下测试输出:
....E.sF
E 表示第五个测试用例执行时发生了异常。s 表示第六个测试用例被跳过。F 表示第七个测试用例断言失败。.:测试通过E:测试执行时发生异常s:测试被跳过F:测试断言失败x:测试预期失败且确实失败X:测试预期失败但实际通过!:测试引发了警告通过这些符号,你可以快速了解测试的整体执行情况,并定位问题所在。