cake3でcontrollerを持つpluginをテストする時にありがちなエラー
その1、Fatal error: Class 'App\Controller\AppController' not found in
- 原因1
そもそもモック用?基底?のコントローラがない
- 対応
tests/test_app/src/Controller/AppController.php
に以下のようなモック用?基底?のコントローラを設置
<?php namespace App\Controller; use Cake\Controller\Controller; class AppController extends Controller { }
- 原因2
tests/test_app/src/Controller/AppController.php がロードされていない
- 対応
composer.json の開発用の autloader に基底コントローラを追加する
例)
{ "autoload-dev": { "psr-4": { "YourPlugin\\Test\\": "tests", "App\\": "tests/test_app/src/", "Cake\\Test\\": "vendor/cakephp/cakephp/tests" } } }
その2、Error/error500.ctp
- 原因
test_app などに適切な場所に Template/Error/error500.ctp がない
- 対策
適切な場所に Template/Error/error500.ctp を設置