Python
 Computer >> コンピューター >  >> プログラミング >> Python

Unittestを使用したPythonプログラムでのユニットテスト


この記事では、Python3.xで利用可能なunittestモジュールを使用して、ソフトウェアテストの基本について学習します。またはそれ以前。自動化、テストのセットアップと終了コードの共有、およびすべてのフレームワークの独立したテストが可能になります。

単体テストでは、さまざまなオブジェクト指向の概念を使用します。ここでは、主に使用されるいくつかの概念について説明します。

  • テストケース −これは、特定の入力セットに従った応答固有の基本クラスです。この操作を実装するには、ユニットテストの基本クラス、つまり「TestCase」を使用します。

  • テストスイート −テストケースをまとめて実行するために使用されます。

  • テストランナー −結果ベースのタスクの実行に従います。タスクの実行後の結果の表示に関与します。

  • フィクスチャ −関連する環境でのテストケースのベースラインとして機能します。

次に、単体テストがどのように機能するかを確認するための基本的な例を見てみましょう。

import unittest
class TestStringMethods(unittest.TestCase):
   def test_upper(self):
      self.assertEqual('TUTOR'.lower(), 'tutor')
   def test_islower(self):
      self.assertTrue('tutor'.islower())
      self.assertFalse('Tutor'.islower())
if __name__ == '__main__':
   unittest.main()

出力

...
-------------------------------
Ran 2 tests in 0.000s
OK

Unittestを使用したPythonプログラムでのユニットテスト

ここでは、単体テストクラスを単一継承の形式で拡張します。ここでは、assertEqual()、assertTrue()、assertFalse()などの組み込みメソッドを使用していました。

assertEqual()は、出力を検証/結果と比較するために使用されます。

assertTrue()は、指定された条件がTrueであるかどうかを確認するために使用されます。


assertFalse()は、指定された条件がFalseであるかどうかを確認するために使用されます。

上記のコードの出力は、次の3つの形式になります。

OK –これは、生成されたすべてのテストが正常に実行されたことを示します

FAIL –これは、いずれかのテストケースが失敗し、AssertionError例外が発生したことを示します。

エラー–これは、テストで例外/エラーが発生したことを示します。

デコレータ@unittest.skip(

を使用できます

import unittest
class TestString(unittest.TestCase):
   @unittest.skip(“check skipped tests”)
   def test_upper(self):
      self.assertEqual('TUTOR'.lower(), 'tutor')
   def test_islower(self):
      self.assertTrue('tutor'.islower())
      self.assertFalse('Tutor'.islower())
if __name__ == '__main__':
   unittest.main()

出力

...
------------------------------------------
Ran 2 tests in 0.000s
OK (skipped=2)

結論

この記事では、Python3.xのUnittestモジュールを使用したPythonでのユニットテストについて学習しました。またはそれ以前。


  1. Unittestを使用したPythonでのユニットテスト

    この記事では、Python 3.xで利用可能な単体テストモジュールを使用して、ソフトウェアテストの基本について学習します。またはそれ以前。 自動化、テストのセットアップコードと終了コードの共有、およびすべてのフレームワークの独立したテストが可能になります。 単体テストでは、さまざまなオブジェクト指向の概念を使用します。ここでは、主に使用されるいくつかの概念について説明します。 テストケース −これは、特定の入力セットに従った応答固有の基本クラスです。単体テストの基本クラス、つまり「 TestCase 」を使用して、この操作を実装します。 テストスイート −テストケースをまとめ

  2. Pythonを使用したコンウェイのライフゲーム?

    1970年頃の英国の数学者は、彼の「ライフゲーム」を作成しました。これは基本的に、生物のコロニーの混沌とし​​た、しかしパターン化された成長を描いた一連のルールです。 「GameofLife」は、「生きている」細胞と「死んでいる」細胞で構成される2次元グリッドです。 人生ゲームのルール 人口過多 :細胞が3つ以上の生きている細胞に囲まれている場合、細胞は死にます(オフ)。 静的 :細胞が2つまたは3つの生きている細胞に囲まれている場合、その細胞は生きています。 過少人口 :細胞が2つ未満の生きている細胞に囲まれている場合、細胞は死にます(オフになります)。 複製 :死ん