Magento için bir PHPUnit paketi sarmak için bir veritabanı işlemi başlar ve geri alma nasıl

0 Cevap php

Ben birim test amaçlı benim veritabanı izole etmek için bir işlem geri alma yöntemi kullanmak istiyorum. İdeal olarak, böyle bir yapının şey kullanmak istiyorsunuz:

public static function setUpBeforeClass(){
    Mage_Core_Model_Resource_Transaction::beginTransaction();
}

public function testOne(){...}
public function testTwo(){...}

public static function tearDownAfterClass(){
    Mage_Core_Model_Resource_Transaction::rollBack();
}

Ne yazık ki Mage_Core_Model_Resource_Transaction sınıf kamu başlamak / RollbackTransaction işlevlerini göstermiyor. Ben ihtiyacını karşılamak için herhangi kamu Magento fonksiyonları bulamıyor. Çalışacak bir Zend eşdeğer var mı?

Ben Mage_Core_Model_Resource_Transaction yeniden yazmak ve korumalı yöntemleri için kamu sarmalayıcılar ekleyebilirsiniz sanırım, ama ben böyle bir ana sınıfı geçersiz kılmak için tereddüt ediyorum.

Ben de kullanarak denedi

$this->model = Mage::getModel('model_being_tested');
$this->model->getResource()->beginTransaction(); 
...
$this->model->getResource()->rollBack();

ve daha sonra testlerde $this->model kullanımı ancak statik işlevleri kullanılamaz.

Herhangi bir öneri veya alternatif mimariler? Şimdiden teşekkürler.

0 Cevap