Skip to content

Add Assert-ThrowAssertionException #22

@nohwnd

Description

@nohwnd

Assert-ThrowAssertionException is useful to test your own assertions or assertions that customize existing assertions:

function Assert-HasValidComputerName($Actual) {
    Assert-Match -Expected "^WKS\d{3}$" -Actual $Actual
}

To test such assertion customization we need to make sure it passes when correct data are provided, and fails when incorrect data are provided. To test the negative case we cannot just Assert-Throw because code could throw for tons of reasons. We need to match the exception explicitly, to simplify this setup, and avoid repeating the AssertionException typename over and over Assert-ThrowAssertionException should be added.

Customizing assertions and testing them is good practice for environment validation. See my reasoning here.

But the usage is not limited to that, even your unit tests can take advantage of moving the assertion language to higher level of abstraction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions