Sus::Fixtures::ConsoleSourceSusFixturesConsoleCapturedLogger

module CapturedLogger

Shared context for capturing console output during tests. Provides access to captured log messages and helper methods for testing console logging.

Definitions

def console_capture

Signature

returns Console::Capture

Captures console output for inspection.

Implementation

def console_capture
	@console_capture ||= ::Console::Capture.new
end

def console_logger

Signature

returns Console::Logger

Logger configured to capture output at DEBUG level.

Implementation

def console_logger
	@console_logger ||= ::Console::Logger.new(console_capture, level: ::Console::Logger::DEBUG)
end

def around

Set up console logger before test execution and clean up afterwards.

Implementation

def around
	::Console.logger = console_logger
	super
ensure
	::Console.logger = nil
end

def expect_console

Create an expectation for the console capture.

Signature

returns Object

An expectation object for the console capture.

Implementation

def expect_console
	expect(console_capture)
end

def have_logged(**fields)

Create a matcher for checking logged messages with specific fields.

Signature

parameter fields Hash

Key-value pairs to match in logged messages.

returns Object

A matcher that checks for logged messages containing the specified fields.

Implementation

def have_logged(**fields)
	have_value(have_keys(**fields))
end