Pythonの標準ライブラリであるunittest
を使ってプログラムの自動テストを実装する方法について解説します。
テストの意味と必要性
ソフトウェアのテストとは、その名の通りプログラムがしっかり動くのかテストすることです。規模が大きくなればなるほど、そして重大な責任が掛かればかかるほど「テストを書く」ことが重要になります。
単体テストとは
「単体テスト」とは機能ごとにテストを行うことです。メソッドや関数単位でそのモジュールの実行結果をテストします。
Pythonのunittestモジュール
Pythonのunittest
という標準パッケージを使うことで、テストを自動化することができます。
テストの実装
テストを実装するにはモジュールが必要なので、簡単なスクレイピングツールを作成します。
# scraping.py
import requests
from bs4 import BeautifulSoup as bs4
# ------初級編------------
url = '[6](https://zerofromlight.com/blogs/)'
tag = 'h5'
request = requests.get(url)
soup = bs4(request.content, 'html.parser')
value = soup.find_all(tag)
datas = []
for val in value:
datas.append(val.text)
print(datas)
テストファイルの作成と実行
テストファイルを作成し、unittest
モジュールを使ってテストを実行します。
# テストファイル名:test_scraping.py
import unittest
class ScpTest(unittest.TestCase):
# ----初級編1----------
def test_scp(self):
pass
# 追記
# test_scraping.pyが実行された場合の処理
if __name__ == '__main__':
unittest.main()
以上がPythonで単体テストを自動化する基本的な方法です。これを参考に、より高品質なPythonコードを書くための一助としてください。