Pythonのunittestはどんなかんじにテストケースを走らせてるのか?を追ってみる
#初稿 にもなってないけど以下のことを書きたい。
(他のテスティングフレームワークだとどうなってるかとかも書きたいよね〜〜たぶんxUnit系は素直に似ててJestとかはインタフェースこそ違えど処理構造は似てるのかもしれない)
cf. 202306のブックマーク#649ed78105f7280000229d82
test --- Python 用回帰テストパッケージ — Python 3.11.4 ドキュメント
Pythonランタイムにビルトインされてるテストランナーみたいなものなのかな
このへんの unittest.TestRunner とかに渡ってるのかな
cf. https://github.com/python/cpython/blob/v3.11.4/Lib/unittest/loader.py#L66
このあたり で class SomeTestCase(unittest.TestCase) みたいなTestCaseクラスのインスタンスにテストメソッドの名前を渡して unittest.TestSuite を作ってる
あと上に書いてない話としては、
TestLoaderとかもある
Djangoのテストランナー側だったかunittest側だったか忘れたけど、Discoverなんとかクラスみたいなのがある
Djangoのテストクラスが内部に持っているclientは直接サーバーが扱うハンドラ関数を呼んでる
http通信はしてないよ〜〜的なお話
#Techlog #Python #テストコード #自動テスト #xUnit #unittest