|View source on GitHub|
A context manager for testing logging and warning events.
cirq.testing.assert_logs( *matches, count: Optional[int] = 1, level: int = logging.WARNING, capture_warnings: bool = True ) -> ContextManager[List[logging.LogRecord]]
To use this one wraps the code that is to be tested for log events within the context of this method's return value:
with assert_logs(count=2, 'first_match', 'second_match') as logs: <code that produces python logs>
This captures the logging that occurs in the context of the with statement,
asserts that the number of logs is equal to
count, and then asserts that
all of the strings in
matches appear in the messages of the logs.
Further, the captured logs are accessible as
logs and further testing
can be done beyond these simple asserts.
||Each of these is checked to see if they match, as a substring, any of the captures log messages.|
||The expected number of messages in logs. Defaults to 1. If None is passed in counts are not checked.|
The level at which to capture the logs. See the python logging
module for valid levels. By default this captures at the
Whether warnings from the python's
|A ContextManager that can be entered into which captures the logs for code executed within the entered context. This ContextManager checks that the asserts for the logs are true on exit.|