I did not find a good documentation on how to use the @magentoConfigFixture
annotation for configuration fixtures in Magento 2 integration tests, so here is my summary after inspecting the core code (Magento 2.1.0, Magento\TestFramework\Annotation\ConfigFixture
)
How to use @magentoConfigFixture
Set default value 42 for configuration path x/y/z
:
/** * @magentoConfigFixture default/x/y/z 42 */
Set store specific value 42 for configuration path x/y/z
in store with code store1
/** * @magentoConfigFixture store1_store x/y/z 42 */
Set store specific value 42 for configuration path x/y/z
in current store (i.e. default store)
/** * @magentoConfigFixture current_store x/y/z 42 */
These are all possible formats. The first parameter must end with _store
or be ommitted. And if it is omitted, the path must start with default/
, otherwise it is ignored.
Implications
- You cannot set configuration values on website level
- Do not use “current” as a real store code, otherwise you cannot use config fixtures for that store