Почему модуль cProfile не работает с unittest?

Я хотел бы использовать модуль cProfile для профилирования моих модульных тестов. Но когда я бегу

python -mcProfile mytest.py 

Я получил «Ran 0 тестов в 0,000s». Вот исходный код mytest.py

 import unittest class TestBasic(unittest.TestCase): def testFoo(self): assert True == True if __name__ == '__main__': unittest.main() 

Я тестировал и другие более сложные unittests. Всегда получал «Ran 0 tests», если я запускаю его с помощью cProfile. Пожалуйста помоги.

UPDATE: моя ОС – MacOS 10.7 со встроенным python 2.7. Тот же код работает правильно на ubuntu.

One Solution collect form web for “Почему модуль cProfile не работает с unittest?”

Вы должны инициализировать cProfiler в конструкторе теста и использовать данные профиля в деструкторе – я использую его следующим образом:

 from pstats import Stats import unittest class TestSplayTree(unittest.TestCase): """a simple test""" def setUp(self): """init each test""" self.testtree = SplayTree (1000000) self.pr = cProfile.Profile() self.pr.enable() print "\n<<<---" def tearDown(self): """finish any test""" p = Stats (self.pr) p.strip_dirs() p.sort_stats ('cumtime') p.print_stats () print "\n--->>>" def xtest1 (self): pass 

В случае, если тест ожидает ввода, нужно вызвать self.pr.disable() перед этим вызовом и снова включить его.

  • какие инструменты (ы) сборки вы рекомендуете для python?
  • python unittest assertRaises выдает исключение, когда assertRaises не работает
  • Как издеваться над datetime.now () python в методе класса для модульного тестирования?
  • Как я могу тестировать Django Views?
  • Время использования, прошедшее с момента утверждения в модульных тестах
  • Тесты флаконов с SQLAlchemy и PostgreSQL исчерпывают соединения db
  • Тестирование REST API с базой данных базы данных
  • Множественные исключения и охват кода при модульном тестировании python
  •  
    Interesting Posts for Van-Lav

    Загрузка файлов .ui в QtDesigner в PySide

    Динамическая загрузка исходного кода python

    Обработка rss-перенаправлений с помощью Python / urllib2

    Некоторые emojis (например, ☁) имеют два unicode, u '\ u2601' и u '\ u2601 \ ufe0f'. Что означает u '\ ufe0f'? Это то же самое, если я удалю его?

    Избранные приложения с открытым исходным кодом Google App Engine (Java или Python)

    Django: используя значения () и get_FOO_display ()?

    Как вывести имя индекса столбца в dataframe

    Каков самый чистый способ сделать сортировку плюс uniq в списке Python?

    run_gunicorn работает, но не gunicorn_django, несмотря на то, что они находятся в одной и той же среде, не может видеть модуль регистрации

    Команда Zsh: Conda / Pip не найдена

    ImportError: нет модуля с именем matplotlib.pyplot

    Разрешение символа «-» в именах пользователей в интерфейсе Django Admin

    Как создать dtype Numpy, который включает в себя 24-битные целые числа?

    Поиск N ближайших номеров

    Как установить lxml на OS X Leopard без использования MacPorts или Fink?

    Python - лучший язык программирования в мире.