Glossary

This glossary contains the descriptions for terms and abbreviations that are used in the documentation.

Expression

Synonyms: VIVIDUS expression.

An expression is a special placeholder which is detected, evaluated and resolved during test execution. Expressions are used for the data generation and transformation. General expression syntax is:

#{expression}

During resolution process the expression placeholder is replaced with the result of the expression evaluation. If expression is unknown for VIVIDUS, the placeholder will be kept as is. If expression evaluation results in error, it will be propagated to the top level and the test will be marked as broken.

It’s allowed to construct nested expressions: in this case the evaluation starts with the deepest expression.

Expressions may include any number of variables placeholders.

Resource

Synonyms: project resource, test resource.

A resource is data (text, images, audio, and so on) that tests need to access in a way that is independent of the location of the test source code (either it’s a local tests execution from IDE, or via Gradle, or from test artifact in CI/CD).

All resources are located in src/main/resources folder of the test project by default. A resource name is a path relative to this folder, e.g. the resource located at:

└─ src
    └─ main
        └─ resources
            └─ data
                └─ request.json

can be referenced in the tests as /data/request.json.

The name of a resource is independent of the used operating system; in particular, the path separator is always a slash /.

Table Transformer

Synonyms: transformer, ExampleTable transformer.

ExampleTable enables the transformation of its string representation via the "transformer" inlined property. It’s allowed to define a chain of transformers, in this case the transformers are applied sequentially from top to bottom:

{transformer=MY_TRANSFORMER}
{transformer=ONE_MORE_MY_TRANSFORMER}
|header 1|header 2| .... |header n|
|value 11|value 12| .... |value 1n|
...
|value m1|value m2| .... |value mn|

The special characters , { } must be escaped in the transformer properties using character \.

Example 1. Escaping special characters in transformer properties
{transformer=MY_TRANSFORMER, countries=\{Australia\,Canada\}}

In the example above the transformer will have a single property with name countries and value {Australia,Canada}.

VIVIDUS variables of scopes global and next batches can be used in transformer properties (pay attention to escapes of the variables placeholders in the example below).

Example 2. Usage of global variable ${locale} in transformer property
{transformer=ONE_MORE_MY_TRANSFORMER, tables=/$\{locale\}/table1.table;/$\{locale\}/table2.table}