Skip to content

2.10.0

Choose a tag to compare

@qameta-ci qameta-ci released this 16 Oct 11:21
· 89 commits to refs/heads/main since this release

What's Changed

πŸš€ Core new features

Concurrent steps

Concurrency support by allure-csharp integrations was very limited. In this release we extend it. Steps from parallel/async tests as well as steps from parallel/async methods, sub-steps and operations now work as expected. That fixes a lot of concurrency-related errors that were usually manifested as NullPointerException (fixes #83, #106 and #367 by @delatrie via #371, #383 and #388 by @delatrie via #393).

Selective run

Selective run is now supported for all integrations (implements #372 by @delatrie via #392).

πŸ”¬ Core improvements

Improved identification properties

Id properties (fullName, testCaseId, historyId) are fixed to prevent the following potential problems:

  • test results of different test cases are interpreted as reruns of a single test case
  • multiple test cases are created from test results of a single parametrized test case

(implements #373 and #387 by @delatrie via #395)

Improved parameter formatting

Test and step parameters are now converted to strings using JSON conversion algorithm. It is much more versatile than the plain ToString() call.
The same goes for step parameters interpolated into the step's title (by @delatrie via #395).

Custom type formatters

A user can add an implementation of Allure.Net.Commons.TypeFormatter[T] via the AllureLifecycle.Instance.AddTypeFormatter[T] method. Previously, such formatters were just ignored. Now, they are automatically used to format test and step parameters as well as step titles in case the type of a parameter value is the same as the formatter's generic type argument (fixes #377 by @delatrie via #395).

JSON schema for allureConfig.json

JSON schemas are available for allureConfig.json at https://raw.githubusercontent.com/allure-framework/allure-csharp/<version>/<package>/Schemas/allureConfig.schema.json. You can use the schemas to validate the config file or explore available properties (by @delatrie via #395).

Language and framework labels

The language and framework labels are now added to all test results by all integrations (by @delatrie via #395).

Debug symbols

Debug symbols (.snupkg files) are now available on NuGet for all packages (by @delatrie via #382).

🐞 Core bug fixes

  • Fixed InvalidCastException when underlying step returns Task masked as non-generic Task (by @eranikid via #343).

Allure-nunit

πŸ”¬ Improvements

  • Creating steps in a [OneTimeSetUp] method of a [TestFixture] is now supported (fixes #286 and #374 by @delatrie via #380).
  • Attachments are now automatically created from console output (implements #305 by @undron via #306).
  • Disable step logging to the console by default (fixes #312 by @undron via #313).
  • The AllureId attribute added to the API (by @alekskulakov via #291).

🐞 Bug fixes

  • Skipped tests now include historyId and thus preserve their history across runs (fixes #345 by @delatrie via #395).
  • An empty package label is added for a test class without a namespace. Previously ArgumentOutOfRangeException was thrown (fixes #375 by @delatrie via #380).

Allure-specflow

πŸ”¬ Improvements

  • Now if an after-feature hook fails, the scenarios' statuses remain intact instead of being changed to broken. A placeholder scenario is added instead to indicate an error (by @delatrie via #371).

Allure-xunit

πŸš€ New features

  • Allure-xunit now works as a runner reporter. Native xUnit attributes Fact and Theory are supported out-of-the-box (implements #344 by @delatrie via #366).
  • Static test methods are now supported (by @delatrie via #366).

πŸ”¬ Improvements

  • Additional runner reporter can be run side-by-side with allure-xunit (implements #368 by @delatrie via #382). This behavior is configurable (see here).
  • Status details of a skipped test now include the skip reason (by @tkeerthivel via #298).

🐞 Bug fixes

  • Now the default configuration is used if allureConfig.json is missing. Previously, a catastrophic failure occurred in such a case leading to the test run abortion (fixes #381 by @delatrie via #393).

⬆️ Dependency Updates

πŸ‘» Internal changes

New Contributors

Full Changelog: 2.9.1...2.10.0