Atata 2.14.0 is released with a couple of enhancements and fixes.
Changelog
Breaking changes
- break
#802 Remove
FileScreenshotConsumerBase.ImageFormat
property
New features
- minor
#805 Add
UseSpecFlowNUnitFeatures
method toAtataContextBuilder
Changes and enhancements
- major #801 Rework verification error handling and logging
- major #803 Use Selenium.WebDriver package v4.16.2
- minor
#804 Update
Stringifier
to return char value as string wrapped with quotes - minor
#806 Dispose driver safely in
AtataContext
Fixes
- fix #799 Possible bug for
[TermAttribute]
with multiple params values - fix #800 Warnings can be not included in error message for NUnit
Reworked verification error handling and logging
Error handling
Verification error handling and logging was reviewed and reworked. There was a need to distinguish default Atata native assertion failure handling and the handling for NUnit. Similar to how it is done for warnings.
The new IAssertionFailureReportStrategy
appeared with 2 implementations: default AtataAssertionFailureReportStrategy
and NUnitAssertionFailureReportStrategy
.
New methods added to AtataContextBuilder
:
AtataContextBuilder UseAssertionFailureReportStrategy(IAssertionFailureReportStrategy strategy);
AtataContextBuilder UseNUnitAssertionFailureReportStrategy();
UseNUnitAssertionFailureReportStrategy
is called by UseAllNUnitFeatures
method, so mostly there is no need for extra configuration.
Logging
Until now, assertion error is logged exactly inside “Assert” log section, before that it was logged in “Deinitialization” log section. Also all exceptions occurred in “Step”, “Setup” and “Aggregate assert” sections are now logged inside these sections. Aggregate assertion exception is now not logged as an error in “Deinitialization” section to avoid duplication of failures in log, because they are logged during the test execution one by one. In all other cases unhandled exceptions will continue to be written to log in “Deinitialization” log section.
Other
A blank line added between multiple errors in aggregate assertion exception message for NUnit, as below:
Multiple failures or warnings in test:
1) Unexpected sut
Expected: should contain "x"
Actual: "abc"
2) Unexpected sut
Expected: should contain "y"
Actual: "abc"
3) Wrong sut
Expected: should contain "z"
Actual: "abc"