Permalink
Find file
Fetching contributors…
Cannot retrieve contributors at this time
63 lines (37 sloc) 3.44 KB

Build Status Maven Central Apache License 2.0

This Concordion extension adds logging information unobtrusively to the Concordion output. The logging information is only displayed when hovering over the tooltip.

The demo project demonstrates this extension.

Introduction

This extension allows us to reveal implementation details in the Concordion output, without obscuring the intent of the specification. For example:

Logging Tooltip Image

Revealing the implementation detail can help to improve the level of trust in the tests, and sometimes highlights redundant steps in the tests. This is discussed further in this blog entry.

The extension captures the logging information from java.util.logging.

Installation

The extension is available from Maven Central.

Configuration

Default Configuration

By default, this extension will capture all output from the root logger and disable console logging of the root logger.

To install the extension with default configuration, either annotate the fixture class with:

    @Extensions(LoggingTooltipExtension.class)

or set the system property concordion.extensions to org.concordion.ext.LoggingTooltipExtension.

Custom Configuration

The extension can be customised to restrict the log output to named loggers, and by logging level. The output of logging to the console can also be enabled.

The easiest way is to use the @Extension annotation on a LoggingTooltipExtension instance field within the fixture class. For example:

        String loggers = "carbon.CarbonCalculatorTest, selenium.events";
        @Extension
        public ConcordionExtension extension =
            new LoggingTooltipExtension(loggers, Level.FINE, false);

Using other loggers

For those not using java.util.logging, a custom LogMessenger can be provided. See the test class AlternateLoggingTooltipExtensionFactory for a basic example.

Further info

Acknowledgements

Thanks to Trent Richardson for the CSS Tooltip implementation.