Предотвратить запуск функции или файла с носом?

Nose автоматически запустит любую функцию, которую найдет в проекте, начиная с test_*. Так, например, если есть вызываемая функция:

"""
test_server_setup.py
sets up a pristine database to use for testing.
DO NOT RUN ON PROD
"""

def test_server_init():
    drop_all_tables()

...тогда его запустит нос, когда вы запустите команду nosetests из корня проекта. Это мой единственный вариант переименовать эту функцию, или есть другой способ изменить файл, чтобы нос его игнорировал?


person gregsabo    schedule 28.03.2014    source источник


Ответы (1)


Декоратор nottest — это именно то, что вам нужно:

нос.инструменты.нетест(функция)

Декоратор, чтобы пометить функцию или метод как не тест

from nose.tools import nottest

@nottest
def test_server_init():
    drop_all_tables()

Чтобы исключить файл или каталог из обнаружения при тестировании носа, см.:

person alecxe    schedule 28.03.2014
comment
Это не отвечает на заголовок сообщения, предотвращая запуск файла python с помощью носа... скорее вы показываете, как предотвратить функцию. - person nmz787; 01.03.2016
comment
@nmz787 хороший момент, обновил и заголовок вопроса, и ответ. Спасибо. - person alecxe; 01.03.2016
comment
nottest работает НАМНОГО лучше, чем сломанный skip декоратор! (в этом я все еще могу явно запустить класс/метод, указанный как nottest, но этот класс/метод не будет запускаться носом автоматически) Спасибо! - person nmz787; 01.03.2016