Светильники в Magento и eComDev Test Suite (откажись от одного прибора и используй новый) - PullRequest
2 голосов
/ 19 марта 2012

Я пишу плагин Magento и пытаюсь протестировать его с интеграцией тестирования PHPUnit из http://www.ecomdev.org. Сейчас я пытаюсь протестировать метод, который представляет собой два разных набора настроек конфигурации, но по какой-то причине второйникогда не загружается, и первый используется снова, поэтому тесты, которые ожидают, что второй прибор завершится неудачей.

Вот проблема, сведенная к важным строкам:

Modul.php (Модель)

<?php
  class MyModule_Module_Model_TestModel extends Mage_Payment_Model_Method_Abstract {

    protected $sandbox;

    public function __construct() {
      $this->sandbox = $this->getConfigData('sandbox');
    }

    public function getSandboxSetting() {
      return $this->sandbox;
    }
  }
?>

приспособление config.yaml

config
  default/payment/modul/sandbox: 0

приспособление configSB.yaml

config
  default/payment/modul/sandbox: 1

Modul.php (Тест)

<?php
  class MyModule_Module_Test_Model_TestModel extends EcomDev_PHPUnit_Test_Case {

    public function setUp() {
      parent::setUp();
      $this->object = Mage::getModel('module/testmodel');
    }

    /**
    * @test
    * @loadFixture config
    */        
    public function testCorrectShopSettingsWithoutSandbox() {
      $this->assertEquals('0', $this->object->getSandboxSetting());
    } 

    /**
    * @test
    * @loadFixture configSB
    */     
    public function testCorrectShopSettingsWithSandbox() {
      $this->assertEquals('1', $this->object->getSandboxSetting());
    }

    protected function tearDown() {
      unset($this->object);
      parent::tearDown();
    }
  }
?>

К сожалению, вторые тесты не проходят, независимо от того, в каком порядке они выполняются.На самом деле тестовый набор ecomdev должен отказаться от приборов (я посмотрел tearDown () в case.php), но данные конфигурации все еще там и не могут быть перезаписаны.Есть ли обходной путь или это проблема с Magento / набором тестов?

1 Ответ

1 голос
/ 19 марта 2012

вы пробовали последнюю версию от github?Мы видели некоторые проблемы, связанные с конфигурацией с новой версией Magento, поэтому в ветке dev это было исправлено.

Вот URL-адрес ветки: https://github.com/IvanChepurnyi/EcomDev_PHPUnit/tree/dev

...