Functional test modules and packaging
Predefined test module paths
The Functional Testing Framework can run tests from predefined paths and custom paths. The predefined paths are:
Copied to your clipboardapp/code/<Vendor>/<Module>/Test/Mftfdev/tests/acceptance/tests/functional/<Vendor>/<TestModule>vendor/<Vendor>/<Module>/Test/Mftfvendor/<Vendor>/<TestModule>
To support future service isolation, Test module in dev/tests/acceptance/tests/functional/<Vendor>/<TestModule>
and
vendor/<Vendor>/<TestModule>
must define the module type as magento2-functional-test-module
in its composer.json
file.
No composer.json
file is required for tests in app/code/<Vendor>/<Module>/Test/Mftf
and vendor/<Vendor>/<Module>/Test/Mftf
as they are part of the Adobe Commerce and Magento Open Source modules.
Test module for a specific Adobe Commerce or Magento Open Source module can only be in one of the paths.
Test module composer.json format
Test module composer.json
file should use type magento2-functional-test-module
.
Test module composer.json
file should define module dependencies in suggests block.
The Functional Testing Framework will recognize the dependency if the suggest message of a module specifies type
using magento2-module
and name
using module name registered with Magento.
Here is an example composer.json
file for the test module dev/tests/acceptance/tests/functional/Magento/ConfigurableProductCatalogSearch
:
Copied to your clipboard{"name": "magento/module-configurable-product-catalog-search-functional-test","description": "test module for Magento_ConfigurableProduct and Magento_CatalogSearch","type": "magento2-functional-test-module","config": {"sort-packages": true},"require": {"magento/magento2-functional-testing-framework": ">=2.5"},"suggest": {"magento/module-configurable-product": "type: magento2-module, name: Magento_ConfigurableProduct, version: *","magento/module-catalog-search": "type: magento2-module, name: Magento_CatalogSearch, version: *"},"license": ["OSL-3.0","AFL-3.0"]}