0
我正在使用Django 1.3,需要檢查我的日誌記錄系統中的輸出和交互次數。對於日誌記錄,我使用Django-Sentry,雖然它看起來像正常的Python記錄器一樣工作。如何檢查日誌消息和稱爲我的unittests的方法?
我正在使用python-mockito進行嘲諷,如果可能的話我想檢查不同的方法被調用的次數和它們返回的消息。
我想要實現的支票,不一樣的東西:
from foo import views
logger = mock()
views.logger = logger
do_method()
verify(logger).error(any, any)
do_method()
verifyZeroInteractions(logger)
還能夠檢查參數將是很好。
models.py
:
from django.db import models
import logging
from sentry.client.handlers import SentryHandler
logger = logging.getLogger(__name__)
try:
is_logging_setup = True
except NameError:
is_logging_setup = True
logger.setLevel(settings.LOGGING_LEVEL)
logger.addHandler(SentryHandler())
class Foo(models.Model):
def bar(self):
logger.warning("Rawr", 'extra': { 'data': 'foo' })
tests.py
:
class TestModelFoo(TestCase):
def setUp(self):
self.foo = Foo()
def test_getting_logged(self):
self.foo.bar()
# Check the log output.
我如何能趕上輸出有什麼建議?