Magento 2:統合テスト機能の使用目的は何ですか?


8

Magento 2の統合テストをたくさん書いています。これは私のローカル開発に役立ち、CIの作業方法にうまく適合します。

ただし、Magentoの統合テストスイートにはいくつかの奇妙な点があります。例えば:

  • デフォルトですべてのモジュールを有効にしますが、これを無効にする方法はありません。クライアントプロジェクトでは、Vertexモジュールなどの不要なモジュールを無効にする可能性が高いため、これには望ましくない副作用が生じる可能性があります。ただし、このモジュールは顧客モデルに必須フィールドを追加するため、統合テストで顧客を作成すると、このテストは失敗します。
  • Magentoテストモジュールをコードベースに追加します。したがって、統合テストスイートを実行するたびに、app/code/Magento名前空間に3つの追加モジュールが存在することになります。

これらの問題により、統合テストをローカルプロジェクトで使用することが困難になっています。誰かがかつて、統合テストは拡張モジュールの開発者がモジュールを市場に出すための基準を満たしているかどうかをテストするためにのみ作成されると私に言った。これは本当ですか?もしそうなら:あなたのクライアントのウェブショップのための統合テストを書くための適切な方法は何ですか?Magentoの注釈などが好きです。これは本当にイライラします。

回答:


0

私はあなたを感じます、私は/同じ問題を抱えていました。最初の問題の解決策があります:不要なモジュールを単に無効にするのではなく削除します。以下をcomposer.jsonに追加します。

"replace": {
  "magento/module-admin-notification": "*"
},

たとえば、管理通知モジュールを削除する場合。https://www.integer-net.com/removing-unused-core-modules-from-magento-2-the-right-wayにある私のブログ投稿で完全に説明されています

2番目の点について:これはバグであり、https://github.com/magento/magento2/issues/12696報告されています。私もそれは本当に迷惑だと思います。バグレポートにコメントし、それをコア開発者が参加することを除いて、私が知る限り、これに対する適切な解決策はまだありません。

誰かがかつて、統合テストは拡張モジュールの開発者がモジュールを市場に出すための基準を満たしているかどうかをテストするためにのみ作成されると私に言った。これは本当ですか?

いいえ。プロジェクトベースでも非常に便利です。あなたはあなたが言及した問題に注意を払わなければならないだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.