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

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


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

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

  • テストケース −これは、特定の入力セットに従った応答固有の基本クラスです。単体テストの基本クラス、つまり「 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 –これは、生成されたすべてのテストが正常に実行されたことを示します

失敗 –これは、いずれかのテストケースが失敗し、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. Pythonを使用してLinuxターミナルでフォーマットされたテキスト

    このセクションでは、Linuxターミナルでフォーマットされたテキストを印刷する方法を説明します。フォーマットすることで、テキストの色、スタイル、およびいくつかの特別な機能を変更できます。 Linuxターミナルは、フォーマット、色、その他の機能を制御するために、いくつかのANSIエスケープシーケンスをサポートしています。したがって、テキストにいくつかのバイトを埋め込む必要があります。したがって、端末がそれらを解釈しようとするとき、それらのフォーマットは効果的です。 ANSIエスケープシーケンスの一般的な構文は次のようになります- \x1b[A;B;C Aはテキストの書式設定スタイルです

  2. PythonでのCX_Freezeの使用

    時々私たちは非常にエキサイティングな何か違うものを作りたいと感じます、そして人間の性質によれば、私たちはいつもそれを共有するのが大好きです。 Pythonもそれらの願いを満たします。 Pythonを使用して、Pythonプログラムを友人と共有したい場合は、それを行うことができます。必要なのは、マシンのプログラムで使用されるすべてのモジュールに同じバージョンのPythonをインストールすることだけです。 まず、 pip install CX_Frezzeを使用してCX_Freezeモジュールをインストールする必要があります コマンドプロンプトのコマンド。 最初のステップは、この割り当て、