• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

orchestral / testbench-core / 24814389583

23 Apr 2026 03:03AM UTC coverage: 91.335% (-0.5%) from 91.81%
24814389583

Pull #409

github

web-flow
Merge 4e8a05705 into 4253b869e
Pull Request #409: Disable fixtures file support on parallel testing on PHPUnit 11

1539 of 1685 relevant lines covered (91.34%)

72.98 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

65.22
/src/Concerns/WithWorkbench.php
1
<?php
2

3
namespace Orchestra\Testbench\Concerns;
4

5
use Illuminate\Foundation\Testing\Traits\CanConfigureMigrationCommands;
6
use Illuminate\Support\Collection;
7
use Orchestra\Testbench\Contracts\Config as ConfigContract;
8
use Orchestra\Testbench\Foundation\Bootstrap\LoadMigrationsFromArray;
9
use Orchestra\Testbench\Workbench\Workbench;
10

11
trait WithWorkbench
12
{
13
    use InteractsWithPHPUnit;
14
    use InteractsWithWorkbench;
15

16
    /**
17
     * Bootstrap with Workbench.
18
     *
19
     * @internal
20
     *
21
     * @return void
22
     */
23
    protected function setUpWithWorkbench(): void
24
    {
25
        /** @var \Illuminate\Contracts\Foundation\Application $app */
26
        $app = $this->app;
35✔
27

28
        /** @var \Orchestra\Testbench\Contracts\Config $config */
29
        $config = static::cachedConfigurationForWorkbench();
35✔
30

31
        Workbench::start($app, $config);
35✔
32

33
        $seeders = $config['seeders'] ?? false;
35✔
34

35
        $seeders = static::usesTestingConcern(CanConfigureMigrationCommands::class)
35✔
36
            ? $this->mergeSeedersForWorkbench($config)
7✔
37
            : ($config['seeders'] ?? false);
28✔
38

39
        (new LoadMigrationsFromArray(
35✔
40
            $config['migrations'] ?? [], $seeders,
35✔
41
        ))->bootstrap($app);
35✔
42
    }
43

44
    /**
45
     * Bootstrap discover routes.
46
     *
47
     * @internal
48
     *
49
     * @param  \Illuminate\Contracts\Foundation\Application  $app
50
     * @return void
51
     */
52
    protected function bootDiscoverRoutesForWorkbench($app): void
53
    {
54
        /** @var \Orchestra\Testbench\Contracts\Config $config */
55
        $config = static::cachedConfigurationForWorkbench();
35✔
56

57
        Workbench::discoverRoutes($app, $config);
35✔
58
    }
59

60
    /**
61
     * Merge seeders for Workbench.
62
     *
63
     * @param  \Orchestra\Testbench\Contracts\Config  $config
64
     * @return array<int, class-string>|false
65
     */
66
    protected function mergeSeedersForWorkbench(ConfigContract $config): array|false
67
    {
68
        $seeders = $config['seeders'] ?? false;
7✔
69

70
        if ($this->shouldSeed() === false || $seeders === false) {
7✔
71
            return false;
7✔
72
        }
73

74
        $testCaseSeeder = $this->seeder();
×
75

76
        /** @var class-string $testCaseSeeder */
77
        $testCaseSeeder = $testCaseSeeder !== false
×
78
            ? $testCaseSeeder
×
79
            : \Database\Seeders\DatabaseSeeder::class;
×
80

81
        $seeders = (new Collection($seeders))
×
82
            ->reject(static fn ($seeder) => $seeder === $testCaseSeeder)
×
83
            ->values();
×
84

85
        return $seeders->isEmpty() ? false : $seeders->all();
×
86
    }
87
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc