Magento 2 Integration Tests: @magentoConfigFixture

Ich konnte keine gute Dokumentation zur @magentoConfigFixture Annotation in Magento 2 Integrationstests finden, also halte ich hier mal meine Zusammenfassung fest, nachdem ich den Core Code inspiziert habe (Magento 2.1.0, Magento\TestFramework\Annotation\ConfigFixture)

Wie man @magentoConfigFixture nutzt

Standardwert 42 für Konfigurationspfad x/y/z:

/**
 * @magentoConfigFixture default/x/y/z 42
 */

Store-spezifischer Wert 42 für Konfigurationspfad x/y/z im Store mit Code store1

/**
 * @magentoConfigFixture store1_store x/y/z 42
 */

Store-spezifischer Wert 42 für Konfigurationspfad x/y/z in aktuellem Store (also Standard-Store)

/**
 * @magentoConfigFixture current_store x/y/z 42
 */

Das sind alle möglichen Formate. Der erste Parameter muss mit _store enden oder weggelassen werden. Wenn er weggelassen wird, muss der Pfad mit default/ beginnen, sonst wird er ignoriert.

Implikationen

  • Konfigurationswerte können nicht auf Website-Ebene gesetzt werden
  • Man sollte nicht “current” als echten Store Code verwenden, sonst kann für diesen Store keine Konfigurations-Fixture genutzt werden