报告 pyTest 中的断言数量
Report number of assertions in pyTest
我正在使用 pytest
在集成级别编写一些测试。我还希望能够报告在每个测试用例上完成的断言数量。默认情况下,pytest
只会报告通过和失败的测试用例数。
断言进一步执行测试被中止。所以每次测试总会有 1 个断言。
要实现您想要的效果,您必须编写自己的断言包装器以保持跟踪。在测试结束时检查计数是否 > 0 然后提出断言。
可以在 setup
或 teardown
测试时将计数重置为零。
据我所知,不可能从 pytest 中获取通过的断言数量。
原因:它采用了Python的标准assert
语句,所以判断断言是通过还是失败是在所使用的引擎内完成的,如果引擎没有计算它进入 assert
实现中必要 if
的 "pass" 分支的频率,并提供一种读取该计数器的方法,只有 no方式 从引擎中获取该信息。所以 pyTest 也不能告诉你。
许多(单元)测试框架默认报告断言计数,恕我直言,我认为这是可取的,因为它是 - 除其他外 - 测试质量的衡量标准:草率的测试可能对值应用的检查太少。
我正在使用 pytest
在集成级别编写一些测试。我还希望能够报告在每个测试用例上完成的断言数量。默认情况下,pytest
只会报告通过和失败的测试用例数。
断言进一步执行测试被中止。所以每次测试总会有 1 个断言。
要实现您想要的效果,您必须编写自己的断言包装器以保持跟踪。在测试结束时检查计数是否 > 0 然后提出断言。
可以在 setup
或 teardown
测试时将计数重置为零。
据我所知,不可能从 pytest 中获取通过的断言数量。
原因:它采用了Python的标准assert
语句,所以判断断言是通过还是失败是在所使用的引擎内完成的,如果引擎没有计算它进入 assert
实现中必要 if
的 "pass" 分支的频率,并提供一种读取该计数器的方法,只有 no方式 从引擎中获取该信息。所以 pyTest 也不能告诉你。
许多(单元)测试框架默认报告断言计数,恕我直言,我认为这是可取的,因为它是 - 除其他外 - 测试质量的衡量标准:草率的测试可能对值应用的检查太少。