Birisi @magentoDbIsolation ek açıklamasının bir entegrasyon testi için ne yaptığını açıklayabilir mi?


9

Çekirdek modüller için yazılan entegrasyon testlerine baktığımda, ek açıklamaların birçok örneğinin @magentoDbIsolation enabledtest fonksiyonlarının üzerinde göründüğünü görüyorum .

MTF belgelerinde hiçbir yerde bundan bahsedilmiyor ve baktıktan sonra bile Magento\TestFramework\Annotation\DbIsolationamacına ilişkin hala net değilim.

Herkes bir fikir verebilir mi? Teşekkürler.

Yanıtlar:


17

Bu ek açıklama belirtilirse, DB işlemi testten önce başlatılacak ve daha sonra geri alınacaktır. Herhangi bir DB armatürü kullanılmıyorsa ve bir şey testte DB'ye kaydedilmişse bu yararlı olabilir. Not @magentoDataFixturegerek aynı anda her iki ek açıklamaları kullanımı çok da işlemde testini tamamladı.
Ve sadece bütünlük uğruna, belirleme @magentoDbIsolation disabledsadece @magentoDbIsolation enabledtest sınıfında belirtilmişse yararlıdır .


2

Ek açıklama @magentoDbIsolation, testler tarafından yapılan DB değişikliklerini izole etmek için entegrasyon testlerinde kullanılır. Diğer bir deyişle, testinizi çalıştırır ve db'de bazı değişiklikler yaparsanız ve test dışlaması sırasında başka bir oturumda bu verileri db'den istersiniz:

  • ile @magentoDbIsolation enabledhiçbir şey elde edecek, çünkü veri işlemde izole edilmiştir.
  • ile @magentoDbIsolation disabledveri alacak, çünkü veriler izole edilmez.
  • ek açıklama olmadan bütünleştirme testleri yalıtılmamış modda yürütülür.

imho, db verilerini değiştirmek için @magentoDataFixturevarsayılan olarak veri yalıtımı kullanan ek açıklama kullanmak daha iyidir .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.