【Python3】VSCodeのUnittestを使用して単体テストを行う方法
みなさまおはこんばんにちは、せなです。
今回はVSCodeからPythonのUnittestを使用して単体テストを行う方法を解説したいと思います。
環境について
・Mac M1
・Python3
・VSCode(拡張機能の「Python3」をインストールすること)
フォルダ構成について
code/
functions/
hoge.py
tests/
__init__.py
code/
__init__.py
functions/
__init__.py
test_hoge.py
testsフォルダを作る際に重要なのがそれぞれのディレクトリにある「init.py」ファイルです。
「init.py」がない場合読み込みが行われずにエラーが発生しますので、注意してください。
ファイル内容について
hoge.py
class Hoge():
def hello(self):
return "hello"
test_hoge.py
import unittest
import os
import sys
BASE_PATH = '/hogehoge/code' # hogehogeはご自分のパスに置き換えてください。
sys.path.append(os.path.abspath(BASE_PATH))
from functions import hoge as target
class TestHoge(unittest.TestCase):
tag = target.Hoge()
def test_hello(self):
# 返却される結果が等価であるか
self.assertEqual(self.tag.hello(), "hello")
「assertEqual」は等価であるかを検証する関数となります。
他にも「assertTrue」や「assertFalse」などがあります。
詳しくは公式ドキュメントなどを参考にしてみてください。
公式ドキュメント:
unittest
少々話が逸れましたが、上記のファイルを作成したらUnitTestを実行してみます。
UnitTestの実行について
VSCodeを起動されていると思いますので、以下のコマンドを使用して「コマンドパレット」を表示させましょう。
Mac: Command+Shift+P
Windows: Ctrl+Shift+P
表示されたコマンドパレットに「Python Configer Tests」と入力します。
次にunittestかpytestの選択となりますが、今回はunittestを選択してください。
次はディレクトリをどこにするか尋ねられます。
ディレクトリはcodeとtestsと同じディレクトリとするので「.」を選択しましょう。
次にテストファイルの形式を選択します。
今回は「test_*.py」の形式を指定しましょう。
最後にvscodeの画面左のパネルにフラスコのマークがあるので開いて再生ボタンを押下して実行です!
緑のチェックマークが出ていればOKです。
失敗した時には赤のバツマークとなり、エラー内容が表示されます。
画像では「hello」と「helloo」で比較を行っているためエラーが発生していますね。
任意に実行したいときには関数横の再生ボタンを押下します。
複数のテストコードから1つだけ確認したいときに重宝すると思います。
最後に
備忘録の意味も込めて、記事にしてみました。
忙しくてなかなか記事を書けていないですけど、ネタは溜まっていきます。(で、書ける頃には忘れちゃっているんですよね…)
何事も忘れないうちにやらなきゃですね。
ではでは〜
ディスカッション
コメント一覧
まだ、コメントがありません