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が40と等しいかどうかが比較されていますが、これは誤りです。最後に、テスト実行の概要を確認できます。1つは失敗し、1つは合格です。

関数tesequalityは、名前が形式ではないためpytestがテストと見なさないため、実行されません。 test*

ここで、以下のコマンドを実行して、結果をもう一度確認します-

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 
=================================

これで、失敗したテストと合格したテストについて、結果がよりわかりやすくなりました。

Note − pytestコマンドは、フォーマットのすべてのファイルを実行します test_* または *_test 現在のディレクトリとサブディレクトリにあります。