いくつかの基本チェックを共有する一連のアクションがあります。私のコードは次のようになります:
def is_valid(param): …some pretty complex things unit-tested on their own…
class BaseAction(object):
def run(self, param):
if not is_valid(param):
raise ValueError(…)
return self.do_run(param)
class Jump(BaseAction):
def do_run(self, param): …
class Sing(BaseAction):
def do_run(self, param): …
BaseAction.runが検証を実行するという事実をどのように単体テストする必要がありますか?
Jump.runとSing.runの単体テストはできると思いますが、それを適切に行うには、BaseActionのサブクラスごとにテストを作成する必要があり、多くの場合に発生する可能性があります。また、これは、サブクラスのテストと基本クラスのメソッドのテストを結合することを意味します。