Don't throw InvalidOperationException in API functions/attributes if Allure is not running #593
+1,564
−460
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
Currently, if Allure is not running, attempting to call functions from
AllureApi
orExtendedApi
or a function marked with[AllureStep]
,[AllureBefore]
, or[AllureAfter]
leads toInvalidOperationException
with a somewhat cryptic message about Allure context. This makes it challenging to selectively disable Allure in some environments (e.g., on a developer's machine) while enabling it in others (like a CI workflow).This PR makes all those functions and attributes usable in such scenarios. Now, they check the Allure context first. If it doesn't allow the function to do its job, the function becomes a noop:
SetTestName
,AddLabel
, etc).Closes #445
Checklist