A context object (Context) is handed to
- step definitions (step implementations)
- behave hooks (
before_all(),before_feature(), …,after_all())
The behave runner assigns a number of attributes to the context object during a test run.
| Attribute Name | Layer | Type | Description |
|---|---|---|---|
| config | test run | Configuration |
Configuration that is used. |
| aborted | test run | bool | Set to true if test run is aborted by the user. |
| failed | test run | bool | Set to true if a step fails. |
| feature | feature | Feature |
Current feature. |
| tags | feature, scenario | list<Tag> |
Effective tags of current feature, scenario, scenario outline. |
| active_outline | scenario outline | Row |
Current row in a scenario outline (in examples table). |
| scenario | scenario | Scenario |
Current scenario. |
| log_capture | scenario | LoggingCapture |
If logging capture is enabled. |
| stdout_capture | scenario | StringIO |
If stdout capture is enabled. |
| stderr_capture | scenario | StringIO |
If stderr capture is enabled. |
| table | step | Table |
Contains step’s table, otherwise None. |
| text | step | String | Contains step’s multi-line text (unicode), otherwise None. |
Note
Behave attributes in the context object should not be modified by a user.
See Context class description for more details.
A user can assign (or modify) own attributes to the context object. But these attributes will be removed again from the context object depending where these attributes are defined.
| Kind | Assign Location | Lifecycle Layer (Scope) |
|---|---|---|
| Hook | before_all() |
test run |
| Hook | after_all() |
test run |
| Hook | before_tags() |
feature or scenario |
| Hook | after_tags() |
feature or scenario |
| Hook | before_feature() |
feature |
| Hook | after_feature() |
feature |
| Hook | before_scenario() |
scenario |
| Hook | after_scenario() |
scenario |
| Hook | before_step() |
scenario |
| Hook | after_step() |
scenario |
| Step | Step definition | scenario |