0

ローカルの composer ベースの TYPO3 8.7 インストールを使用して、一部の拡張機能の単体テストを実行しようとしています。これが私の作曲家ファイルです:

{
  "repositories": [
    { "type": "vcs", "url": "https://git.typo3.org/Packages/TYPO3.CMS.git" },
    { "type": "vcs", "url": "https://github.com/cobwebch/external_import.git"},
    { "type": "vcs", "url": "https://github.com/fsuter/externalimport_test.git"},
    { "type": "vcs", "url": "https://github.com/cobwebch/svconnector.git"},
    { "type": "vcs", "url": "https://github.com/cobwebch/svconnector_csv.git"},
    { "type": "vcs", "url": "https://github.com/cobwebch/svconnector_feed.git"},
    { "type": "vcs", "url": "https://github.com/cobwebch/svconnector_json.git"},
    { "type": "vcs", "url": "https://github.com/cobwebch/svconnector_sql.git"}
  ],
  "name": "my-vendor/my-typo3-cms-distribution",
  "require": {
    "typo3/cms": "TYPO3_8-7-dev",
    "cobweb/external_import": "dev-wombat",
    "cobweb/externalimport_test": "dev-master",
    "cobweb/svconnector": "dev-master",
    "cobweb/svconnector_csv": "dev-master",
    "cobweb/svconnector_feed": "dev-master",
    "cobweb/svconnector_json": "dev-master",
    "cobweb/svconnector_sql": "dev-master"
  },
  "extra": {
    "typo3/cms": {
      "cms-package-dir": "{$vendor-dir}/typo3/cms",
      "web-dir": "web"
    }
  },
  "require-dev": {
    "nimut/testing-framework": "^1.1"
  }
}

コマンド ラインから単体テストを実行しているときに、ブートストラップ プロセスで TYPO3 のどの部分が初期化されるのか正確にはわかりませんが、不完全なようです。

適切な例: (「web」フォルダー内) を使用して、拡張機能「svconnector_csv」の単体テストを実行しようとすると:

/path/to/php ../vendor/bin/phpunit -c ../vendor/nimut/testing-framework/res/Configuration/UnitTests.xml typo3conf/ext/svconnector_csv/Tests/Unit/

すべてのテストが失敗し、サービス キー「tx_svconnectorcsv_sv1」が見つからないという例外が報告されます。(Reports モジュールを使用して) バックエンドでチェックインすると、サービスは正常にインストールされます。

同様のコマンドを使用して拡張機能「external_import」のテストを実行すると、別のエラーだけでなく問題も発生します。TCA がロードされていないことを示すエラーが表示されます。

TCA や T3_SERVICES などのグローバル配列が確実にロードされるように、処理されるブートストラップに何らかの影響を与えることはできますか? それとも、そうあるべきで、セットアップに何かが欠けていますか?

参考までに、両方の拡張機能のソース コードへのリンクを次に示します。

4

1 に答える 1