Pytestのアサーションは、unittestのアサーションよりも単純で実用的です。

Pytest断言

アサーションは、自動テストを作成する上で最も重要なステップです。ユースケースにアサーションがない場合、自動テストの意味が失われます。
アサーションは、実際の結果を期待される結果と比較することです。期待を満たしている場合は、テストに合格します。期待を満たさない場合、テストは失敗しました。

# -*- coding: utf-8 -*-
# @Author : 公众号:程序员一凡
 
import pytest
 
def test01():
    b = 2
    assert 1 == b, "预期的值是:%d"%b
 
def test02():
    assert 2 == 2
 
pytest.main(["day.py"])

運転結果

1つのユースケースが合格し、1つが失敗しました。
アサーションの失敗により、失敗の理由が書き込まれます。

 def test01():
        b = 2
>       assert 1 == b, "预期的值是:%d"%b
E       AssertionError: 预期的值是:2
E       assert 1 == 2

例外アサーション

# -*- coding: utf-8 -*-
# @Author : 公众号:程序员一凡
 
import pytest
 
def a():
    with pytest.raises(ZeroDivisionError) as ZE:
        1 / 0
 
    # 断言异常类型type
    assert ZE.type == ZeroDivisionError
    # 断言异常value
    assert "division by zero" in str(ZE.value)
 
pytest.main(["day.py"])

ZEは例外情報のインスタンスであり、実際に発生した例外のラッパーです。
主な属性は.type、.value .tracebackです。
型をアサートする場合、例外タイプを引用符で囲む必要はありません。値の値をアサートする場合は、strに切り替える必要があります。
コンテキストマネージャウィンドウで、を使用できます。カスタム障害を指定するためのキーワードパラメータメッセージ
すべての人にソフトウェアテスト技術交換グループを推奨します:1079636098グループの友人は無料で受け取ります

あなたと私が会い、あなたが何かを見つけることができますように!WeChatパブリックアカウントのフォローへようこそ:プログラマーYifan

1.216ページのソフトウェアテストエンジニアのインタビューブックを無料で受け取ります。

2.ソフトウェアテストの学習ルートと対応するビデオ学習チュートリアルは無料で共有できます。

おすすめ

転載: blog.csdn.net/qq_42434318/article/details/113047452