Python 3.4 では、テスト目的で非常に単純なディスパッチ テーブルを作成できるようにしたいと考えています。アイデアは、キーがテストされる関数の名前の文字列であり、データ項目がテスト関数の名前である辞書を持つことです。
例えば:
myTestList = (
"myDrawFromTo",
"myDrawLineDir"
)
myTestDict = {
"myDrawFromTo": test_myDrawFromTo,
"myDrawLineDir": test_myDrawLineDir
}
for myTest in myTestList:
result = myTestDict[myTest]()
アイデアは、関数名のリストをどこかに持っているということです。この例では、それらの名前をテスト関数の名前にマップする辞書を手動で作成します。テスト関数名は、関数名を単純に拡張したものです。関数名のリストから辞書全体を計算したいと思います(ここでは ですmyTestList
)。
あるいは、辞書なしで同じことができれば、それもいいでしょう。myTestList のエントリから新しい文字列を作成し、それを使用local()
して呼び出しを設定しようとしましたが、うまくいきませんでした。辞書のアイデアはPython 3.x のドキュメントに由来しています。