我是靠谱客的博主 高大香氛,最近开发中收集的这篇文章主要介绍python断言的几种方式_我可以在一个Python pytest方法中处理多个断言吗?,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

通常,我只是让测试在第一个断言时失败。但是,如果您真的想进行多个比较,请比较元组。下面是一个简单的例子:def foo(x):

return x + 1

def bar(y):

return y - 1

def test_foo():

# some expensive calculation

a = foo(10)

# another expensive calculation

b = bar(10)

assert (a, b) == (10, 9)

当我使用pytest运行它时,它会显示两个值:$ pytest scratch.py

============================= test session starts =============================

platform linux2 -- Python 2.7.12, pytest-3.0.7, py-1.4.33, pluggy-0.4.0

rootdir: /home/don/workspace/scratch, inifile:

collected 1 items

scratch.py F

================================== FAILURES ===================================

__________________________________ test_foo ___________________________________

def test_foo():

# some expensive calculation

a = foo(10)

# another expensive calculation

b = bar(10)

> assert (a, b) == (10, 9)

E assert (11, 9) == (10, 9)

E At index 0 diff: 11 != 10

E Use -v to get the full diff

scratch.py:16: AssertionError

========================== 1 failed in 0.02 seconds ===========================

我还尝试使用and组合比较,但由于short circuiting的原因,这种方法不起作用。例如,我尝试了以下断言:assert a == 10 and b == 9

Pytest报告此失败:> assert a == 10 and b == 9

E assert (11 == 10)

除非使用--showlocals选项,否则它不会报告b的值。

最后

以上就是高大香氛为你收集整理的python断言的几种方式_我可以在一个Python pytest方法中处理多个断言吗?的全部内容,希望文章能够帮你解决python断言的几种方式_我可以在一个Python pytest方法中处理多个断言吗?所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部