feat: allows to use test calls on before each calls

This commit is contained in:
Nuno Maduro
2023-05-01 22:18:45 +01:00
parent cddddc3ec1
commit 97898a0a8e
14 changed files with 118 additions and 26 deletions

View File

@ -22,6 +22,22 @@
✓ it gets executed before each test
✓ it gets executed before each test once again
PASS Tests\Features\BeforeEachProxiesToTestCallWithExpectations
✓ runs 1
✓ runs 2
✓ runs 3
WARN Tests\Features\BeforeEachProxiesToTestCallWithSkip
- does not run 1
- does not run 2
- does not run 3
TODO Tests\Features\BeforeEachProxiesToTestCallWithTodo - 4 todos
↓ is marked as todo 1
↓ is marked as todo 2
↓ is marked as todo 3
↓ shouldBeMarkedAsTodo
WARN Tests\Features\Coverage
✓ it has plugin
- it adds coverage if --coverage exist → Coverage is not available
@ -1017,4 +1033,4 @@
PASS Tests\Visual\Version
✓ visual snapshot of help command output
Tests: 1 deprecated, 3 warnings, 4 incomplete, 1 notice, 4 todos, 14 skipped, 711 passed (1719 assertions)
Tests: 1 deprecated, 3 warnings, 4 incomplete, 1 notice, 8 todos, 17 skipped, 714 passed (1722 assertions)

View File

@ -1,3 +1,9 @@
TODO Tests\Features\BeforeEachProxiesToTestCallWithTodo - 4 todos
↓ is marked as todo 1
↓ is marked as todo 2
↓ is marked as todo 3
↓ shouldBeMarkedAsTodo
TODO Tests\Features\DatasetsTests - 1 todo
↓ forbids to define tests in Datasets dirs and Datasets.php files
@ -9,4 +15,4 @@
PASS Tests\CustomTestCase\ExecutedTest
✓ that gets executed
Tests: 4 todos, 1 passed (1 assertions)
Tests: 8 todos, 1 passed (1 assertions)

View File

@ -0,0 +1,15 @@
<?php
beforeEach()->expect(true)->toBeTrue();
test('runs 1', function () {
// This test did performs assertions...
});
test('runs 2', function () {
// This test did performs assertions...
});
test('runs 3', function () {
// This test did performs assertions...
});

View File

@ -0,0 +1,15 @@
<?php
beforeEach()->skip();
test('does not run 1', function () {
$this->fail('This test should not run');
});
test('does not run 2', function () {
$this->fail('This test should not run');
});
test('does not run 3', function () {
$this->fail('This test should not run');
});

View File

@ -0,0 +1,15 @@
<?php
beforeEach()->todo();
test('is marked as todo 1', function () {
$this->fail('This test should not run');
});
test('is marked as todo 2', function () {
$this->fail('This test should not run');
});
test('is marked as todo 3');
test()->shouldBeMarkedAsTodo();

View File

@ -18,7 +18,7 @@ $run = function () {
test('parallel', function () use ($run) {
expect($run('--exclude-group=integration'))
->toContain('Tests: 1 deprecated, 3 warnings, 4 incomplete, 1 notice, 4 todos, 11 skipped, 699 passed (1704 assertions)')
->toContain('Tests: 1 deprecated, 3 warnings, 4 incomplete, 1 notice, 8 todos, 14 skipped, 702 passed (1707 assertions)')
->toContain('Parallel: 3 processes');
})->skipOnWindows();

View File

@ -11,7 +11,9 @@ $run = function (string $target, bool $parallel) {
expect($process->getExitCode())->toBe(0);
return preg_replace('#\\x1b[[][^A-Za-z]*[A-Za-z]#', '', $process->getOutput());
$outputContent = preg_replace('#\\x1b[[][^A-Za-z]*[A-Za-z]#', '', $process->getOutput());
return $outputContent;
};
$snapshot = function ($name) {