1. In Laravel 6.20.43 and Lighthouse 5.45.0, the class ‘ClearsSchemaCache’ is deprecated. See Figure 1.

PHP
<?php
namespace Modules\ThemeStore\Tests\Functional\GraphQl;
use Nuwave\Lighthouse\Testing\MakesGraphQLRequests;
use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
use Nuwave\Lighthouse\Testing\ClearsSchemaCache;
use Tests\CreatesApplication;
class ThemeAssetGraphQlApiTest extends BaseTestCase
{
use CreatesApplication,
ClearsSchemaCache,
MakesGraphQLRequests;
protected function setUp(): void
{
parent::setUp();
$this->bootClearsSchemaCache();
}
}2. The cause is likely due to a version change in Lighthouse. The class ‘ClearsSchemaCache’ is used to clear the schema cache before running any tests.
3. Referring to https://lighthouse-php.com/5/testing/phpunit.html#setup , I decided to replace it with the class ‘RefreshesSchemaCache’.
4. Edit /Modules/ThemeStore/Tests/Functional/GraphQl/ThemeAssetGraphQlApiTest.php. See Figure 2.

PHP
<?php
namespace Modules\ThemeStore\Tests\Functional\GraphQl;
use Nuwave\Lighthouse\Testing\MakesGraphQLRequests;
use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
use Nuwave\Lighthouse\Testing\RefreshesSchemaCache;
use Tests\CreatesApplication;
class ThemeAssetGraphQlApiTest extends BaseTestCase
{
use CreatesApplication,
ClearsSchemaCache,
MakesGraphQLRequests;
protected function setUp(): void
{
parent::setUp();
$this->bootRefreshesSchemaCache();
}
}
5. Run the tests, and the tests pass. See Figure 3.

Plaintext
PS E:\wwwroot\object> .\vendor\bin\phpunit --process-isolation .\Modules\ThemeStore\Tests\Functional\GraphQl\ThemeAssetGraphQlApiTest.php
PHPUnit 7.5.20 by Sebastian Bergmann and contributors.
... 3 / 3 (100%)
Time: 7.73 seconds, Memory: 16.00 MB
OK (3 tests, 11 assertions)
PS E:\wwwroot\object>
