Skip to content

Commit 0b00214

Browse files
authored
Merge pull request #3 from Codeception/symfony5-failed
Fixed _failed handling with Symfony 5
2 parents 170c66c + 3624da1 commit 0b00214

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/Codeception/Lib/InnerBrowser.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
use Codeception\Util\ReflectionHelper;
2222
use Codeception\Util\Uri;
2323
use Symfony\Component\BrowserKit\Cookie;
24+
use Symfony\Component\BrowserKit\Exception\BadMethodCallException;
2425
use Symfony\Component\DomCrawler\Crawler;
2526
use Symfony\Component\DomCrawler\Field\ChoiceFormField;
2627
use Symfony\Component\DomCrawler\Field\FileFormField;
@@ -73,8 +74,14 @@ public function _failed(TestInterface $test, $fail)
7374
'application/xml' => 'xml',
7475
'text/plain' => 'txt'
7576
];
76-
77-
$internalResponse = $this->client->getInternalResponse();
77+
78+
try {
79+
$internalResponse = $this->client->getInternalResponse();
80+
} catch (BadMethodCallException $e) {
81+
//Symfony 5 throws exception if request() method threw an exception.
82+
//The "request()" method must be called before "Symfony\Component\BrowserKit\AbstractBrowser::getInternalResponse()"
83+
$internalResponse = false;
84+
}
7885

7986
$responseContentType = $internalResponse ? $internalResponse->getHeader('content-type') : '';
8087
list($responseMimeType) = explode(';', $responseContentType);

0 commit comments

Comments
 (0)