Pytest-starting-with-basic-test
提供:Dev Guides
Pytest-基本テストから始める
それでは、最初のpytestプログラムから始めましょう。 最初にディレクトリを作成し、そのディレクトリにテストファイルを作成します。
以下に示す手順に従ってください-
- automation という名前の新しいディレクトリを作成し、コマンドラインのディレクトリに移動します。
- test_square.py という名前のファイルを作成し、そのファイルに以下のコードを追加します。
import math
def test_sqrt():
num = 25
assert math.sqrt(num) == 5
def testsquare():
num = 7
assert 7*7 == 40
def tesequality():
assert 10 == 11
次のコマンドを使用してテストを実行します-
pytest
上記のコマンドは、次の出力を生成します-
test_square.py .F
============================================== FAILURES
==============================================
______________________________________________ testsquare
_____________________________________________
def testsquare():
num=7
> assert 7*7 == 40
E assert (7 *7) == 40
test_square.py:9: AssertionError
================================= 1 failed, 1 passed in 0.06 seconds
=================================
結果の最初の行を参照してください。 ファイル名と結果が表示されます。 Fはテストの失敗を表し、dot(。)はテストの成功を表します。
その下に、失敗したテストの詳細が表示されます。 テストが失敗したステートメントが表示されます。 この例では、7* 7が49と等しいかどうか比較されますが、これは間違っています。 最終的に、テスト実行の概要が表示され、1つが失敗し、1つが合格しました。
関数tescompareは、名前が test *の形式ではないため、pytestはテストと見なさないため実行されません。
さて、以下のコマンドを実行し、結果を再度表示します-
pytest -v
-vは冗長性を高めます。
test_square.py::test_sqrt PASSED
test_square.py::testsquare FAILED
============================================== FAILURES
==============================================
_____________________________________________ testsquare
_____________________________________________
def testsquare():
num = 7
> assert 7*7 == 40
E assert (7 * 7) == 40
test_square.py:9: AssertionError
================================= 1 failed, 1 passed in 0.04 seconds
=================================
これで、結果は失敗したテストと合格したテストについてよりわかりやすくなりました。
注意-pytestコマンドは、現在のディレクトリとサブディレクトリにある test ' または ' test 形式のすべてのファイルを実行します。