現在、私のモジュールには2つのメインファイルがあります。
.infoに2番目のファイルを追加しました。
ファイル[] = menu_perm.admin.inc
キャッシュをクリアしました。
テストクラス(PHPUnit)ファイルで、Drupal:
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
テスト関数内でフォーム送信関数を手動で呼び出し、以下のエラーで終了します:
未定義の関数menu_perm_user_form_submit()の呼び出し
関数はmenu_perm.admin.incにあります。
これの前にすべてが大丈夫でした。
ここで何が悪いのですか?
files[]
はクラス/インターフェースの自動読み込みでのみ機能し、任意のPHPファイルを含みません。ドキュメントでは
Drupalは動的ロードコードレジストリをサポートするようになりました。これをサポートするには、すべてのモジュールが.infoファイル内のクラスまたはインターフェイス宣言を含むコードファイルを宣言する必要があります
.moduleファイルの先頭に次のような行を追加することで回避できます。
require_once DRUPAL_ROOT . '/sites/all/modules/my_module/my_module.admin.inc';