Concepts

Concepts

Specification

A specification is a document containing informal text and one or more formalized tables. The text is purely descriptive. The tables specify expectations for the system under test.

Pax Carrot works with HTML documents. Other document formats are possible but not currently supported.

Interpreter

An interpreter reads input data from specification tables, triggers the system under test and compares expected with actual results. Having processed a table, the interpreter appends the actual results (or an exception trace) to the table cells and highlights the cells according to the result status.

Pax Carrot includes different kinds of interpreters. The interpreter to be used for a given table is indicated by a keyword in the top-left table cell.

Fixture

A fixture is a piece of software providing the glue logic between a specification table and the system under test. Fixtures are referenced by name from table cells. The fixture name is a simple, descriptive identifier, not necessarily the implementation class name. The interpreter binds table cells to fixture properties using the Java Bean naming convention, with table column headers (or other table content) corresponding to bean properties.

Result Status

Table cells which define an expected result are assigned a result status by the interpreter. The status is visualized by the cell background colour.

Status

Color

Meaning

Status

Color

Meaning

RIGHT

green

Actual result matches expected result.

WRONG

red

Actual result does not match expected result.

IGNORED

grey

There is no expectation, any result in this cell is ignored.

EXCEPTION

yellow

There was an error in the interpreter or in a fixture method.

Report

Pax Carrot produces a report with statistics on the number of right, wrong, ignored and exception cells per specification and aggregated statistics for all specifications interpreted in a given run.