テストクラスの作成

前回は、HTMLタグの関数を作成しました。
今回は、プログラムを作りこむ前に、ユニットテストのためのテストクラスを書こうと思います。

ディレクトリ構成

text2html(プロジェクトルートディレクトリ)の直下にtestディレクトリを作成し、その中にテストクラスを作っていきます。

text2html (プロジェクトルートディレクトリ)
├── test
│   └── a_tag_test.py
└── text2html (パッケージルートディレクトリ)
    ├── html_tag
    │   ├── __init__.py
    │   ├── img_tag.py
    │   └── img_tag.py
    ├── page.py
    └── sohtml.py

テストクラスの作成

img_tag.pyをテストするためのクラスを作成します。
以下のようなPythonコードになります。

(ファイル名) img_tag_test.py

import unittest
import text2html.html_tag.img_tag as t

class ATagTest(unittest.TestCase):
    def test_src_param(self):
        self.assertEqual(t.img_tag(src='myimg.jpg'),
                '<img src="myimg.jpg" />')

    def test_all_param(self):
        self.assertEqual(t.img_tag(src='myimg.jpg', alt='[画像ファイル]'),
                '<img src="myimg.jpg" alt="[画像ファイル]" />')

unittest.main()

それでは、テストクラスを実行します。

$ python img_tag_test.py
..
----------------------------------------------------------------------
Ran 2 tests in 0.000s

OK

テストも合格しました。

参考文献

エキスパートPythonプログラミング (第11章)
Pythonプロフェッショナルプログラミング第2版 (Chapter 13)