public static function setUpBeforeClass()
 {
     // Load configuration
     $config = (require __DIR__ . '/../config/config.php');
     // Override config settings
     $config['debug'] = true;
     $config['config_cache_enabled'] = false;
     $dependencies = $config['dependencies'];
     $dependencies['services']['config'] = $config;
     // Build container
     self::$container = new ServiceManager($dependencies);
     // Get application from container
     self::$app = self::$container->get(Application::class);
     self::$app->raiseThrowables();
     // Setup middleware
     self::$app->pipe(ServerUrlMiddleware::class);
     self::$app->pipe(ErrorHandler::class);
     self::$app->pipe(SessionMiddleware::class);
     self::$app->pipeRoutingMiddleware();
     self::$app->pipe(UrlHelperMiddleware::class);
     self::$app->pipeDispatchMiddleware();
     self::$app->pipe(NotFoundHandler::class);
     // Setup routes
     self::$app->route('/', Action\HomePageAction::class, ['GET'], 'home');
     self::$app->route('/blog', Action\BlogIndexAction::class, ['GET'], 'blog');
     self::$app->route('/blog/feed.xml', Action\BlogXmlFeedAction::class, ['GET'], 'feed');
     self::$app->route('/blog/{id:[0-9a-zA-Z\\-]+}', Action\BlogPostAction::class, ['GET'], 'blog.post');
     self::$app->route('/code', Action\CodeAction::class, ['GET'], 'code');
     self::$app->route('/contact', Action\ContactAction::class, ['GET', 'POST'], 'contact');
 }