固定のファイル名規則を使用せずにテストを検出するNoseを見ることもできます。
次のコードを使用すると、nose でファイルをフィルタリングするために使用される正規表現をバイパスできます。Pythonモジュールを作成します(つまりmy_nosetests.py
)
import nose
from nose.plugins.base import Plugin
class ExtensionPlugin(Plugin):
name = "ExtensionPlugin"
def options(self, parser, env):
Plugin.options(self,parser,env)
def configure(self, options, config):
Plugin.configure(self, options, config)
self.enabled = True
def wantFile(self, file):
return file.endswith('.py')
def wantDirectory(self,directory):
return True
def wantModule(self,file):
return True
if __name__ == '__main__':
includeDirs = ["-w", ".", ".."]
nose.main(addplugins=[ExtensionPlugin()], argv=sys.argv.extend(includeDirs))
実行my_nosetests.py
しているかのように実行するnosetests
と、テストが実行されます。実際にはすべてのモジュールをロードし、それらの中でテストを検索していることに注意してください。モジュールのロードによる副作用に注意してください。