Magento 2: Apa tujuan penggunaan fungsi tes integrasi?

8

Saya menulis banyak tes integrasi untuk Magento 2. Ini membantu pengembangan lokal saya dan cocok dengan cara kerja CI.

Namun, ada beberapa keanehan tentang suite tes integrasi Magento. Sebagai contoh:

  • Ini memungkinkan semua modul secara default, dan tidak ada cara untuk menonaktifkan ini. Ini dapat memiliki beberapa efek samping yang tidak diinginkan, karena pada proyek klien Anda kemungkinan besar menonaktifkan modul yang tidak Anda butuhkan, misalnya, modul Vertex. Namun, modul ini menambahkan bidang yang diperlukan untuk model pelanggan Anda, jadi tentu saja, jika Anda membuat pelanggan dalam tes integrasi Anda, tes ini akan gagal .
  • Itu menambah modul tes Magento ke basis kode Anda . Jadi setiap kali Anda menjalankan test suite integrasi Anda, Anda akhirnya memiliki 3 modul tambahan di app/code/Magentonamespace Anda .

Masalah-masalah ini mempersulit uji integrasi untuk digunakan dalam proyek lokal. Seseorang pernah berkata kepada saya bahwa tes integrasi hanya dibuat untuk pengembang ekstensi untuk menguji apakah modul Anda melewati kriteria untuk membuatnya ke pasar. Apakah ini benar? Karena jika demikian: lalu apa cara yang tepat untuk menulis tes integrasi untuk webshop klien Anda? Saya suka anotasi dan hal-hal Magento. Benar-benar membuat frustrasi.

Giel Berkers
sumber

Jawaban:

0

Saya merasa Anda, saya memiliki / memiliki masalah yang sama. Ada solusi untuk masalah pertama Anda: Lepaskan modul yang tidak diinginkan daripada hanya menonaktifkannya. Tambahkan yang berikut ini ke composer.json Anda:

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

misalnya jika Anda ingin menghapus modul pemberitahuan admin. Ini sepenuhnya dijelaskan dalam posting blog saya di https://www.integer-net.com/removing-unused-core-modules-from-magento-2-the-right-way .

Mengenai poin kedua Anda: ini adalah bug, diajukan di https://github.com/magento/magento2/issues/12696 . Saya merasa itu sangat menjengkelkan. Tidak ada solusi yang baik untuk itu sejauh yang saya tahu, kecuali mengomentari laporan bug dan dengan demikian membawanya ke hadapan para pengembang inti.

Seseorang pernah berkata kepada saya bahwa tes integrasi hanya dibuat untuk pengembang ekstensi untuk menguji apakah modul Anda melewati kriteria untuk membuatnya ke pasar. Apakah ini benar?

Tidak. Ini juga sangat berguna pada basis proyek. Anda hanya harus mengurus masalah yang Anda sebutkan.

Andreas von Studnitz
sumber