mirror of
https://github.com/pestphp/pest.git
synced 2026-03-11 02:07:23 +01:00
fix: global afterEach being called twice
This commit is contained in:
@ -1305,6 +1305,7 @@
|
||||
✓ it executes tests in the Helpers directory
|
||||
|
||||
PASS Tests\Hooks\AfterEachTest
|
||||
✓ nested → nested afterEach execution order
|
||||
✓ global afterEach execution order
|
||||
|
||||
PASS Tests\Hooks\BeforeEachTest
|
||||
@ -1573,4 +1574,4 @@
|
||||
WARN Tests\Visual\Version
|
||||
- visual snapshot of help command output
|
||||
|
||||
Tests: 2 deprecated, 4 warnings, 5 incomplete, 2 notices, 17 todos, 28 skipped, 1088 passed (2615 assertions)
|
||||
Tests: 2 deprecated, 4 warnings, 5 incomplete, 2 notices, 17 todos, 28 skipped, 1089 passed (2637 assertions)
|
||||
@ -1,23 +1,79 @@
|
||||
<?php
|
||||
|
||||
beforeEach(function () {
|
||||
$this->ith = 0;
|
||||
});
|
||||
|
||||
pest()->afterEach(function () {
|
||||
expect($this)
|
||||
->toHaveProperty('ith')
|
||||
->and($this->ith)
|
||||
->toBe(1);
|
||||
->toBe(3);
|
||||
|
||||
$this->ith = 2;
|
||||
$this->ith++;
|
||||
});
|
||||
|
||||
pest()->afterEach(function () {
|
||||
expect($this)
|
||||
->toHaveProperty('ith')
|
||||
->and($this->ith)
|
||||
->toBe(4);
|
||||
|
||||
$this->ith++;
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
expect($this)
|
||||
->toHaveProperty('ith')
|
||||
->and($this->ith)
|
||||
->toBe(2);
|
||||
->toBe(5);
|
||||
|
||||
$this->ith++;
|
||||
});
|
||||
|
||||
describe('nested', function () {
|
||||
afterEach(function () {
|
||||
expect($this)
|
||||
->toHaveProperty('ith')
|
||||
->and($this->ith)
|
||||
->toBe(6);
|
||||
|
||||
$this->ith++;
|
||||
});
|
||||
|
||||
test('nested afterEach execution order', function () {
|
||||
expect($this)
|
||||
->toHaveProperty('ith')
|
||||
->and($this->ith)
|
||||
->toBe(0);
|
||||
|
||||
$this->ith++;
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
expect($this)
|
||||
->toHaveProperty('ith')
|
||||
->and($this->ith)
|
||||
->toBe(7);
|
||||
|
||||
$this->ith++;
|
||||
});
|
||||
});
|
||||
|
||||
afterEach(function () {
|
||||
expect($this)
|
||||
->toHaveProperty('ith')
|
||||
->and($this->ith)
|
||||
->toBeBetween(6, 8);
|
||||
|
||||
$this->ith++;
|
||||
});
|
||||
|
||||
test('global afterEach execution order', function () {
|
||||
expect($this)
|
||||
->not()
|
||||
->toHaveProperty('ith');
|
||||
->toHaveProperty('ith')
|
||||
->and($this->ith)
|
||||
->toBe(0);
|
||||
|
||||
$this->ith++;
|
||||
});
|
||||
|
||||
@ -32,7 +32,12 @@ pest()
|
||||
$_SERVER['globalHook']->calls->beforeAll++;
|
||||
})
|
||||
->afterEach(function () {
|
||||
$this->ith = 0;
|
||||
if (! isset($this->ith)) {
|
||||
return;
|
||||
}
|
||||
|
||||
assert($this->ith === 1, 'Expected $this->ith to be 1, but got '.$this->ith);
|
||||
$this->ith++;
|
||||
})
|
||||
->afterAll(function () {
|
||||
$_SERVER['globalHook']->afterAll = 0;
|
||||
@ -57,12 +62,12 @@ pest()->in('Hooks')
|
||||
$_SERVER['globalHook']->beforeAll = 1;
|
||||
})
|
||||
->afterEach(function () {
|
||||
expect($this)
|
||||
->toHaveProperty('ith')
|
||||
->and($this->ith)
|
||||
->toBe(0);
|
||||
if (! isset($this->ith)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$this->ith = 1;
|
||||
assert($this->ith === 2, 'Expected $this->ith to be 1, but got '.$this->ith);
|
||||
$this->ith++;
|
||||
})
|
||||
->afterAll(function () {
|
||||
expect($_SERVER['globalHook'])
|
||||
|
||||
@ -16,7 +16,7 @@ $run = function () {
|
||||
|
||||
test('parallel', function () use ($run) {
|
||||
expect($run('--exclude-group=integration'))
|
||||
->toContain('Tests: 2 deprecated, 4 warnings, 5 incomplete, 2 notices, 17 todos, 19 skipped, 1078 passed (2591 assertions)')
|
||||
->toContain('Tests: 2 deprecated, 4 warnings, 5 incomplete, 2 notices, 17 todos, 19 skipped, 1079 passed (2613 assertions)')
|
||||
->toContain('Parallel: 3 processes');
|
||||
})->skipOnWindows();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user