-
-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Try-catch in the second test catches fail in the first test #6716
Copy link
Copy link
Closed
Description
What are you trying to achieve?
Migrated from codeception 4 to 5
Try to use try-catches in tests and page methods and got strange behaviour:
If first test failed. Second test with try catch fails too, but all asserts is passed.
if first test passed. Second test works normal. (
What do you get instead?
Run Positive scenario: first test good, second test with try-catch good.
# php vendor/bin/codecept run tests/PositiveCest -vvv Provide test source code if related
<?php
namespace Tests;
use Tests\Support\AcceptanceTester;
class PositiveCest
{
public function _before(AcceptanceTester $I)
{
$I->amOnUrl('https://google.com');
}
public function loginSuccessfully(AcceptanceTester $I)
{
$I->wait(1);
}
public function loginWithInvalidPassword(AcceptanceTester $I)
{
try {
$I->waitForElementVisible('//membercat') | RuntimeException;
} catch (\Exception){}
}
}
Run Negative scenario: first test failed, second test with try-catch should be passed.
# php vendor/bin/codecept run tests/NegativeCest -vvv Provide test source code if related
<?php
namespace Tests;
use Tests\Support\AcceptanceTester;
class NegativeCest
{
public function _before(AcceptanceTester $I)
{
$I->amOnUrl('https://google.com');
}
public function loginSuccessfully(AcceptanceTester $I)
{
$I->wait(1);
$I->fail('Test one fail message');
}
public function loginWithInvalidPassword(AcceptanceTester $I)
{
try {
$I->waitForElementVisible('//membercat') | RuntimeException;
} catch (\Exception){}
}
}
trace
Scenario Steps:
2. $I->waitForElementVisible("//membercat") at tests/NegativeCest.php:23
1. $I->amOnUrl("https://google.com") at tests/NegativeCest.php:11
/Users/erolatex/Documents/projects/codeception/vendor/phpunit/phpunit/src/Framework/Assert.php:2286
/Users/erolatex/Documents/projects/codeception/vendor/codeception/lib-asserts/src/Codeception/Util/Shared/InheritedAsserts.php:1185
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/src/Codeception/Step.php:289
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/src/Codeception/Scenario.php:76
/Users/erolatex/Documents/projects/codeception/tests/Support/_generated/AcceptanceTesterActions.php:5073
/Users/erolatex/Documents/projects/codeception/tests/NegativeCest.php:17
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/src/Codeception/Lib/Di.php:130
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/src/Codeception/Test/Cest.php:184
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/src/Codeception/Test/Cest.php:200
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/src/Codeception/Test/Cest.php:129
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/src/Codeception/Test/Test.php:168
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/src/Codeception/Suite.php:130
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/src/Codeception/SuiteManager.php:148
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/src/Codeception/Codecept.php:260
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/src/Codeception/Codecept.php:216
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/src/Codeception/Command/Run.php:435
/Users/erolatex/Documents/projects/codeception/vendor/symfony/console/Command/Command.php:326
/Users/erolatex/Documents/projects/codeception/vendor/symfony/console/Application.php:1063
/Users/erolatex/Documents/projects/codeception/vendor/symfony/console/Application.php:320
/Users/erolatex/Documents/projects/codeception/vendor/symfony/console/Application.php:174
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/src/Codeception/Application.php:112
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/app.php:45
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/app.php:46
/Users/erolatex/Documents/projects/codeception/vendor/codeception/codeception/codecept:7
/Users/erolatex/Documents/projects/codeception/vendor/bin/codecept:119
Artifacts:
Png: /Users/erolatex/Documents/projects/codeception/tests/_output/Tests.NegativeCest.loginWithInvalidPassword.fail.png
Html: /Users/erolatex/Documents/projects/codeception/tests/_output/Tests.NegativeCest.loginWithInvalidPassword.fail.html
FAILURES!
Tests: 2, Assertions: 1, Failures: 1.
Details
full source code https://github.com/erolatex/codeception-try-catch/tree/master
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels