ESpec v1.2.2 ESpec.Let

Defines ‘let’, ‘let!’ and ‘subject’ macros. ‘let’ and ‘let!’ macros define named functions with cached return values. The ‘let’ evaluate block in runtime when called first time. The ‘let!’ evaluates as a before block just after all ‘befores’ for example. The ‘subject’ macro is just an alias for let to define subject.

Summary

Functions

Struct keeps the name of variable and random function name

Macros

Allows to define several ‘lets’ at once

The macro defines function with random name which returns block value. That function will be called when example is run. The function will place the block value to the Agent dict

Allows to define several ‘lets’ at once

let! evaluate block like before

Defines ‘let’ for error result tuple

Defines ‘let!’ for error result tuple

Defines ‘let’ for success result tuple

Defines ‘let!’ for success result tuple

Defines overridable lets in shared examples

Defines ‘subject’

Defines ‘subject’ with name. It is just an alias for ‘let’

Defines ‘subject!’

Defines ‘subject!’ with name. It is just an alias for ‘let!’

Functions

__struct__()

Struct keeps the name of variable and random function name.

Macros

let(keyword)

Allows to define several ‘lets’ at once

let(var, list)

The macro defines function with random name which returns block value. That function will be called when example is run. The function will place the block value to the Agent dict.

let!(keyword)

Allows to define several ‘lets’ at once

let!(var, list)

let! evaluate block like before

let_error(var, list)

Defines ‘let’ for error result tuple.

let_error!(var, list)

Defines ‘let!’ for error result tuple.

let_ok(var, list)

Defines ‘let’ for success result tuple.

let_ok!(var, list)

Defines ‘let!’ for success result tuple.

let_overridable(keywords)

Defines overridable lets in shared examples

subject(var)

Defines ‘subject’.

subject(var, list)

Defines ‘subject’ with name. It is just an alias for ‘let’.

subject!(var)

Defines ‘subject!’.

subject!(var, list)

Defines ‘subject!’ with name. It is just an alias for ‘let!’.