Make debugging test failures easier
This commit is contained in:
parent
9684456480
commit
eecd550c48
2 changed files with 49 additions and 0 deletions
35
tests/Integration/TestResponse.php
Normal file
35
tests/Integration/TestResponse.php
Normal file
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
|
||||
namespace Pterodactyl\Tests\Integration;
|
||||
|
||||
use Illuminate\Testing\Assert as PHPUnit;
|
||||
use Illuminate\Testing\TestResponse as IlluminateTestResponse;
|
||||
|
||||
class TestResponse extends IlluminateTestResponse
|
||||
{
|
||||
/**
|
||||
* Overrides the default assert status logic to dump out the error to the
|
||||
* test output if it is caused by a 500 level error and we were not specifically
|
||||
* look for that status response.
|
||||
*
|
||||
* @param int $status
|
||||
* @return \Pterodactyl\Tests\Integration\TestResponse
|
||||
*/
|
||||
public function assertStatus($status)
|
||||
{
|
||||
$actual = $this->getStatusCode();
|
||||
|
||||
// Dump the response to the screen before making the assertion which is going
|
||||
// to fail so that debugging isn't such a nightmare.
|
||||
if ($actual !== $status && $status !== 500) {
|
||||
$this->dump();
|
||||
if (! is_null($this->exception)) {
|
||||
dump($this->exception);
|
||||
}
|
||||
}
|
||||
|
||||
PHPUnit::assertSame($actual, $status, "Expected status code {$status} but received {$actual}.");
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
Reference in a new issue