Skip to content

Commit

Permalink
update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
johanrosenson committed Feb 23, 2021
1 parent 8bea1e1 commit f638247
Showing 1 changed file with 54 additions and 3 deletions.
57 changes: 54 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,63 @@

# PHPUnit Exception Assertions

...
Trait containing assertions for easier testing of thrown (or not thrown) exceptions.

# Installation

...
```bash
composer require --dev devlop/phpunit-exception-assertions
```

# Usage

...
Include the trait to get access to the assertions.

```php
use Devlop\PHPUnit\ExceptionAssertions;

class YourTest extends TestCase
{
use ExceptionAssertions;
}
```

# Available Assertions

## assertExceptionThrown

Asserts that a specific exception was thrown during the execution of the callback,
if the callback finishes without the exception being thrown, the assertion fails.

To check for any exception, use `\Throwable::class` as first argument since all exceptions inherits from [`\Throwable`](https://www.php.net/manual/en/class.throwable.php).

```php
$this->assertExceptionThrown(\InvalidArgumentException::class, function () : void {
// code that should throw the expected exception
});
```

## assertNoExceptionsThrown

Asserts that no exceptions was thrown during the execution of the callback,
if any exceptions was thrown during the execution the assertion fails.

```php
$this->assertNoExceptionsThrown(function () : void {
// code that should not throw any exceptions
});
```

## assertExceptionNotThrown

Asserts that a specific exception was not thrown during the execution of the callback,
if the specified exception was thrown during execution the assertion fails.

**use with caution** - this will only assert that a specific exception was not thrown and
the assertion will pass for any other exceptions thrown, intentional or accidental.

```php
$this->assertExceptionNotThrown(\InvalidArgumentException::class, function () : void {
// code that should not throw the exception
});
```

0 comments on commit f638247

Please sign in to comment.