pytest中pytest.main参数-rN的作用是什么?
关于pytest中
-rN参数的说明 首先,-r是pytest用来控制测试结果总结报告的核心参数,后面跟的字符用来指定要在总结里额外显示的测试结果类别。
你问的-rN里的N,对应的是**「通过且没有产生任何输出的测试用例」**:
- 当你加上这个参数时,测试跑完后,pytest会在最终的总结报告里专门列出所有通过、且运行过程中没有打印任何输出的测试用例。
- 去掉它的话,这部分内容就不会出现在总结里,同时因为pytest不需要去收集和输出这些用例的信息,减少了IO操作,所以你会感觉到运行速度变快。
举个例子,如果你有10个通过且无输出的测试用例,加-rN后总结里会有类似这样的块:
PASSED NO OUTPUT
test_demo.py::test_case1
test_demo.py::test_case2
...(剩下8个用例)
而去掉-rN后,这部分内容就消失了——如果你的测试用例不多,这部分总结内容本来就少,很容易被忽略,所以你没看到明显差异。
关于这个参数的官方说明,你可以去pytest官方文档的「命令行选项」章节里找「Reporting」部分,里面详细列了-r参数后所有可用字符的含义,N对应的就是无输出的通过用例。
内容的提问来源于stack exchange,提问作者Joseph Kemper
相关产品推荐
相关产品推荐

