pytest的fixtures学习十一

参数化fixture(二)

在上一篇“十”中最后运行的结果可以看到,两个测试函数针对不同的smtp_connection实例分别运行了两次。同时注意:对于mail.python.org连接,第二个测试在test_ehlo中失败,因为期望的服务器字符串与到达的字符串不同。

pytest将为参数化的fixture中每个fixture值构建一个字符串作为测试ID,如上述test_ehlo[smtp.gmail.com]和test_ehlo[mail.python.org],这些IDs可以与-k一起使用,以选择要运行的特点场景,且当一个故障发生时,还将识别特定场景。使用--collect-only运行pytest将显示生成的ID。

数字、字符串、布尔值和None将在测试ID中使用通常的字符串表示形式。对于其他对象,pytest将根据参数名称创建一个字符串。通过使用ids关键字参数,可以为某个固定值自定义测试ID中使用的字符串:

官网示例

上面的代码显示了ids可以是要使用的字符串列表,也可是将使用fixture值调用后返回一个字符串来使用的函数。在后一种情况下,如果返回None,则将使用pytest自动生成的ID。

运行后产生以下测试ID:

官网示例


最近有点小忙,项目版本要上线,加油,坚持~

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容