【Selenium自動テスト入門】Python Unittest 単体テストフレームワーク

Unittest は、PyUnit、Python 単体テスト フレームワーク (Python 単体テスト フレームワーク) とも呼ばれ、PyUnit とも呼ばれます。PyUnit は、Python 2.1 以降、Python 標準ライブラリの一部となっています。

Unittest 単体テスト フレームワークを使用する必要があるのはなぜですか?

どんどん多くのユースケースを作成する場合、後のメンテナンスを容易にするためにユースケース作成の仕様、構成、管理を考慮する必要があります。python-unittest はまさにそのようなツールです。ここでは、単体テスト スクリプトの使用方法を示すために簡単な例を使用します。

電卓クラスの電卓を作成する

# Calculator.py
class calculator(object):
   def __init__(self, a, b):
       self.a = a
       self.b = b

   def add(self):
       return (self.a + self.b)

   def minus(self):
       return (self.a - self.b)

   def multip(self):
       return (self.a * self.b)

   def divide(self):
       return (self.a / self.b)

単純な単体テスト ケースを作成する

import unittest  # 导入unittest  包
from unittest_doc.com.Calculator.Calculator import calculator  # 引入需要测试的包

# 所有用例需继承TestCase类或者其子类
class simple_test(unittest.TestCase):
   def setUp(self):
       print('@@@初始化test_simple@@@')
       self.a = calculator(1, 2)

   def test_add(self):
       print('---测试用例test_simple add---')
       self.assertEqual(self.a.minus(), -1, '两值不相等')
       self.assertEqual(self.a.add(), 3, '两值不相等')
       self.assertNotEqual(self.a.divide(), 1, '两值不相等')

   def test_divide(self):
       print('---测试用例test_simple divide---')
       self.assertEqual(self.a.divide(), 0.5)

   def tearDown(self):
       print('@@@结束test_simple@@@')

if __name__ == '__main__':
   unittest.main()

操作結果:

@@@初始化test_simple@@@
---测试用例test_simple add---
@@@结束test_simple@@@
@@@初始化test_simple@@@
---测试用例test_simple divide---
@@@结束test_simple@@@

テスト ケースは setUp()、test_add()、test_divide()、tearDown() の 4 つの部分で構成され、unittest.TestCase から継承されたテスト クラスの下に配置されます。

出力結果を注意深く観察すると、各ユースケースは実行前に setUp() を実行し、終了後に TearDown() を実行します。そこから、2 つの役割がわかるはずです。

setUp() は 、テスト ケースの実行の準備に使用されます。
テスト ケースがデータベースにアクセスする必要がある場合は、setUp でデータベース接続を確立して初期化できます。テスト ケースが Web を使用する必要がある場合は、最初にブラウザをインスタンス化できます。アプリ テストでアプリを起動する必要がある場合は、最初にアプリをインスタンス化できます。

teaDown() は、 ユースケースの実行後の余波として使用されます。データベース接続を閉じる、ブラウザを閉じる、アプリを閉じるなど。ユースケースが正常に実行されなかった場合にも実行されます。

test_add()、test_divide() テスト スクリプトは test で開始または終了する必要があります。unittest.main() メソッドを使用してテストを実行する場合は、test で開始する必要があります。

TestCase のインスタンスはテスト ケースです。テスト ケースは、テスト前の準備環境のセットアップ (setUp)、テスト プロセスのコードの実装 (実行)、テスト後の環境の復元 (tearDown) を含む、完全なテスト プロセスです。

単体テストの本質はここにあります テストケースとは完成したテスト単位であり、このテスト単位を実行することで特定の機能を検証することができます。


以下はサポート情報です。[ソフトウェア テスト] を行う友人にとって、これは最も包括的で完全な準備倉庫となるはずです。この倉庫は、最も困難な旅にも同行してくれました。あなたにも役立つことを願っています。

無料で入手する方法:

加入我的软件测试交流群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

ソフトウェアテストインタビューアプレット

ソフトウェア テストの質問バンクには、何百万人もの人が参加しました。誰が知っているのか!ネットワーク全体で最も包括的なクイズ ミニ プログラムです。携帯電話を使用して、地下鉄やバスの中でもクイズに答えることができます。

次の面接の質問セクションが取り上げられます。

1. ソフトウェアテストの基礎理論、2. Web、アプリ、インターフェース機能テスト、3. ネットワーク、4. データベース、5. Linux

6. Web、アプリ、インターフェイスの自動化、7. パフォーマンス テスト、8. プログラミングの基本、9. 時間面接の質問、10. 公開テストの質問、11. セキュリティ テスト、12. コンピューターの基本

入手方法:

おすすめ

転載: blog.csdn.net/IT_LanTian/article/details/130871853