Изменить и запустить нос Doctest плагин - PullRequest
0 голосов
/ 28 октября 2019

Я успешно использовал nose.run(argv=['--with-doctest'], addplugins=[...]), но теперь мне нужно создать подкласс nose.plugins.doctests.Doctest, чтобы я мог изменить его метод loadTestsFromModule. У меня есть другие плагины (с помощью подклассов nose.plugins.Plugin), которые работают, но у меня не получилось запустить doctests.

from nose.plugins.doctests import Doctest

class TestDocs(Doctest):
    def loadTestsFromModule(self, module):
        # add something here
        super(testDocs, self).__init__(module)

Я пробовал следующее:

nose.run(addplugins=[TestDocs()])
nose.run(plugins=[TestDocs()])
nose.run(argv=['--with-testdocs'])
nose.run(argv=['--with-testdocs'], addplugins=[TestDocs()])

Iтакже попробовал другое имя, в случае, если оно включало «тест» было проблемой. И я попытался использовать DocTest напрямую, но не смог активировать doctests без использования --with-doctest.

nose.run(addplugins=[Doctest()])
nose.run(plugins=[Doctest()])

Как я могу активировать doctests с помощью плагина?

1 Ответ

0 голосов
/ 28 октября 2019

Эта комбинация позволила для пользовательского подкласса Doctest использовать nose.run.

nose.run(argv=['--with-testdocs'], plugins=[TestDocs()])

Было бы полезно использовать argv=['--plugins'], поскольку оно выделило разницу между plugins= и addplugins=, посколькуЯ уже использовал addplugins для других плагинов .:10000

>>> nose.run(argv=['--plugins'], plugins=[TestDocs()], 
             addplugins=[OtherPlugin(), AnotherPlugin()])
Plugin OtherPlugin
Plugin testdocs
Plugin AnotherPlugin
...