Вы также можете взглянуть на Нос , который обнаружит тесты без необходимости использования фиксированного соглашения о именах файлов.
Вы можете обойти регулярное выражение, используемое для фильтрации файлов в носу с помощьюследующий кодСоздайте модуль 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
, и у вас должны быть запущены ваши тесты.Имейте в виду, что вы фактически загружаете все модули и ищете в них тесты.Остерегайтесь любого побочного эффекта загрузки модуля.