我有一个页面和测试类,测试类如下所示
当我运行pytest -s -v path_to_test -html=Result.html--自包含-html时,它会生成报告,但我想做的是在测试失败时给报告发电子邮件,我可以设置一些stmp,或者如果有一个包可以使用,这将是有帮助的。
发布于 2022-10-04 21:42:31
在这种情况下,conftest.py的完整代码如下所示:
conftest.py
该文件中有两个关键功能。
pytest_runtest_makereport将在每个测试之后运行,只需检查测试是否失败。如果任何测试失败,那么 failed 标志将被设置为True。
failed
然后,在整个脚本的末尾,pytest_session将运行并检查是否将标志更改为True。如果是的话,就会发送一封电子邮件,并附上result.html文件。
我想强调这部分问题之前已经回答过了,请参阅下面的链接: How to send pytest coverage report via email?
给定链接的问题/答案不包含任何关于如何只在测试失败时运行的信息。我决定在这里回答是值得的。
https://stackoverflow.com/questions/73887692