make('Illuminate\Contracts\Console\Kernel')->bootstrap(); $app['cache']->setDefaultDriver('array'); $app->setLocale('en'); // Set random encryption key $app['config']->set('app.key', bin2hex(random_bytes(16))); return $app; } // // Helpers // protected static function callProtectedMethod($object, $name, $params = []) { $className = get_class($object); $class = new ReflectionClass($className); $method = $class->getMethod($name); $method->setAccessible(true); return $method->invokeArgs($object, $params); } public static function getProtectedProperty($object, $name) { $className = get_class($object); $class = new ReflectionClass($className); $property = $class->getProperty($name); $property->setAccessible(true); return $property->getValue($object); } public static function setProtectedProperty($object, $name, $value) { $className = get_class($object); $class = new ReflectionClass($className); $property = $class->getProperty($name); $property->setAccessible(true); return $property->setValue($object, $value); } /** * Stub for `assertFileNotExists` to allow compatibility with both PHPUnit 8 and 9. * * @param string $filename * @param string $message * @return void */ public static function assertFileNotExists(string $filename, string $message = ''): void { if (method_exists(Assert::class, 'assertFileDoesNotExist')) { Assert::assertFileDoesNotExist($filename, $message); return; } Assert::assertFileNotExists($filename, $message); } /** * Stub for `assertRegExp` to allow compatibility with both PHPUnit 8 and 9. * * @param string $filename * @param string $message * @return void */ public static function assertRegExp(string $pattern, string $string, string $message = ''): void { if (method_exists(Assert::class, 'assertMatchesRegularExpression')) { Assert::assertMatchesRegularExpression($pattern, $string, $message); return; } Assert::assertRegExp($pattern, $string, $message); } }