わかりますが、内部関数のテストの書き方がわかりません。問題を説明する簡単なコードを次に示します。
def high(x, y):
def low(x):
return x*2
return y*low(x)
class TestHigh(unittest.TestCase):
def test_high(self):
self.assertEqual(high(1,2),4)
def test_low(self):
self.assertEqual(low(3),6)
結果は
Exception: NameError: global name 'low' is not defined
「実際の」ケースでは、すべてのパスが実行されていることを確認するために、下位レベルの機能を分離してテストできるようにしたいと考えています。これは、上位レベルからのみテストする場合は面倒です。