Skip to content

Add relaxed versions of Assert.ThrowsException and Assert.ThrowsExceptionAsync #4257

@Evangelink

Description

@Evangelink

Summary

Allows to assert some derived exceptions are thrown.

Background and Motivation

Assert.ThrowsException<T> and Assert.ThrowsExceptionAsync<T> are checking that the exception throws is exactly matching the one specified as generic type argument. It can often happen that you would instead prefer to say type or derived types.

Proposed Feature

Add Assert.ThrowsAnyException<T>/Assert.ThrowsAnyExceptionAsync<T> or add overloads of the current APIs with a boolean allowing to control whether to check exact type or derived.

Alternative Designs

Relax current APIs and introduce Assert.ThrowsExactException<T> and Assert.ThrowsExactExceptionAsync. Although I prefer the naming, this would introduce a potentially strong functional breaking change for users so I would be reluctant to do it.

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions