2012-08-03 3 views
2

Я использую django-nose для запуска своих тестов, и мне нужно знать, когда они работают из моих методов/методов/etc, чтобы я мог пропустить такие вещи, как проверка значений кеша или вызов некоторых внешних ресурсов проекта, например , только при запуске тестов.Как узнать, когда тесты выполняются с django-носом

Было бы хорошо, чтобы иметь какой-то переменной окружения доступной или что-то подобное, так что я мог бы сделать что-то вроде:

if os.environ.get('TESTS_ARE_RUNNING'): 
    # skip this 

или

if not TESTS_ARE_RUNNING: 
    # do something 

Кто-нибудь знает способ сделать это?

Заранее спасибо за любую помощь :)

ответ

6

Это возможно, и вы можете увидеть Detect django testing mode о том, как, но вы не должны делать это для этого случая использования.

... так что я могу пропустить такие вещи, как проверка значений кэша или вызове некоторых проектов-внешних ресурсов, например ...

Если вы сделаете это, как вы собираетесь, чтобы проверить, что ваши ручки приложений когда эти внешние ресурсы опускаются или плохо себя ведут? Я бы порекомендовал вам заглянуть в библиотеку mock и высмеять эти внешние вызовы. Это также позволит вам утверждать, что эти вызовы должным образом выполнены и что приложение может обрабатывать, когда они не возвращаются, как ожидалось.