Skip to content

concordion/concordion-timing-extension

Repository files navigation

Build and Test Apache License 2.0

This Concordion extension provides the capability to embed the processing time of each specification example at runtime.

The demo project demonstrates this extension.

Introduction

Often it is useful to know how long a given example or specification takes to run. This extension provides this by printing the timing to screen for each example and specification that is run. The functionality can be toggled on or off via a toggle button located at the top right of the output specification.

How to install

Add to dependencies

 testCompile 'org.concordion:concordion-timing-extension:1.1.0'

This requires Concordion 2.1.0 or later.

How to use

For the timings to show on examples, you must be using the example command in your specification (Markdown format, HTML format).

For the timings to show on examples on a table, you must be running each row as an example (Markdown format, HTML format).

Add to your test fixture one of these options:

With no configuration

@Extensions(value = TimerExtension.class)

With comprehensive configuration

@Extension
ConcordionExtension TimingExtension = new TimerExtension()
    .withShowByDefault(true)
    .withOnIcon("/path/to/icon-on.png")
    .withOffIcon("/path/to/icon-off.png")
    .withTimeFormat(new SimpleTimeFormatter(" hours", " minutes", " seconds", " milliseconds"));

Features

Timings per example

Example timing

Timings per example on table

Table timing

Timings on run command

Run timing

Customisable timing format and toggle icon

Customised Example

Toggle display of timings

Customised Example

Other Extension Compatibility

Compatible Extensions

Incompatible Extensions

Further info