PHPackages                             edmondscommerce/module-magento2-test-runner - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. edmondscommerce/module-magento2-test-runner

ActiveMagento2-module[Testing &amp; Quality](/categories/testing)

edmondscommerce/module-magento2-test-runner
===========================================

v0.2.0(5y ago)01.6k[2 PRs](https://github.com/edmondscommerce/edmondscommerce-magento2-testing/pulls)proprietaryPHP

Since Dec 10Pushed 2y ago1 watchersCompare

[ Source](https://github.com/edmondscommerce/edmondscommerce-magento2-testing)[ Packagist](https://packagist.org/packages/edmondscommerce/module-magento2-test-runner)[ RSS](/packages/edmondscommerce-module-magento2-test-runner/feed)WikiDiscussions master Synced 3w ago

READMEChangelog (6)DependenciesVersions (20)Used By (0)

Edmonds Commerce Magento 2 Integration Testing
==============================================

[](#edmonds-commerce-magento-2-integration-testing)

Installation
------------

[](#installation)

First make sure the container has access to the BitBucket repos. If it does not then add the public key to the account, details can be found [here](https://confluence.atlassian.com/bitbucket/set-up-an-ssh-key-728138079.html)

Then cd to the project directory and run the following commands

```
composer config repositories.edmondscommerce-test-runner vcs git@github.com:edmondscommerce/edmondscommerce-magento2-testing.git
composer require edmondscommerce/module-magento2-test-runner --dev
```

Also ensure that you have the Magento 2 coding standards installed

```
composer require --dev magento/magento-coding-standard
```

Running QA
----------

[](#running-qa)

There will now be a `qa.m2.bash` file in the `vendor/bin` folder. By default it will scan the entire `app/code`directory. If there are already several modules in there that are failing, then it can just scan a specific directory by passing the relative path to it.

```
# Scan the entire directory
bash vendor/bin/qa.m2.bash

# Just scan the EdmondsCommerce directory
bash vendor/bin/qa.m2.bash app/code/EdmondsCommerce
```

This tool should be run on a regular basic, and must be passing before requesting changes are merged.

Running Integration Tests
-------------------------

[](#running-integration-tests)

### MySql Config

[](#mysql-config)

In `dev/tests/integration/etc` make a copy of `install-config-mysql.php.dist` called `install-config-mysql.php`

Alter the contents to have the correct configuration, you MUST use a totally separate database.

You can remove the `amqp-` files if not using rabbit queue.

See [here](https://devdocs.magento.com/guides/v2.3/test/integration/integration_test_execution.html#setup) for further details

### Setting up php unit configuration

[](#setting-up-php-unit-configuration)

By default the tool will copy a standard phpunit.xml file into the test folder. This can be bypassed by passing false to the script, however you will need to create a `dev/tests/integration/phpunit.edmondscommerce.xml` file before the tests will run.

### Running the tests

[](#running-the-tests)

There is a new tool in the `vendor/bin` directory called `runIntegrationTests.bash`. It can be run like so

```
# Copy the default config and run the tests
bash vendor/bin/runIntegrationTests.bash
# Don't copy the config and use the file that is already there
bash vendor/bin/runIntegrationTests.bash false
```

Running Acceptance Tests
========================

[](#running-acceptance-tests)

There is a helper script that will try to setup the Magento 2 acceptance testing suite, this will also validate as much as possible and allows for the use of a centralised environment configuration file.

Project Requirements
--------------------

[](#project-requirements)

- You must have the appropriate version of MFTF installed as a dev dependency
- Magerun2 must be installed and usable on the system path as `magerun`
- System level bash support, this has been tested under Centos 7

Setup
-----

[](#setup)

The script is written in a way to provide as much feedback as possible when something is wrong with the configuration.

In places it will auto fix issues with data from the main environment file and also try to protect you.

### Environment file

[](#environment-file)

In this repository there is a [test.bash.dist](./test.bash.dist) file that needs to be copied to the root of the Magento 2 project and renamed to `test.bash` - this will be used to load your project/environment specific variables to use later.

This file should also be git ignored, this will be checked as part of the setup script, this also serves as an environment check as this file should never exist in production nor should this module be installed in production for that matter.

Once the file is copied, fill out the different variable values as required.

### Running the Setup Script

[](#running-the-setup-script)

Run `bash vendor/bin/setupAcceptanceTests.bash` from the root of your project, this is assuming that bin files are still setup to be symlinked with composer.

You can use the full path `vendor/edmondscommerce/module-magento2-test-runner/bin/setupAcceptanceTests.bash` if necessary and the tool will recognise this.

During the running of the script the configured Magento store will be set to use a new test database set in the environment file, this test database must exist and be accessible by the configured Mysql user in the database file.

The script will validate different things in the environment and let you know what to do if it finds a problem.

Running the tests
-----------------

[](#running-the-tests-1)

The setup script will generate the test suite that you configure but will not run them.

For the acceptance tests to run you must have Selenium or Zalenium configured and working before the tests will run correctly.

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 55.6% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~37 days

Recently: every ~66 days

Total

13

Last Release

1939d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/7af407ceeb8622c9c164d386ef3e95cda4c94d141240348ac5703223bb499d0e?d=identicon)[edmondscommerce](/maintainers/edmondscommerce)

---

Top Contributors

[![edmondscommerce](https://avatars.githubusercontent.com/u/62842?v=4)](https://github.com/edmondscommerce "edmondscommerce (5 commits)")[![everon](https://avatars.githubusercontent.com/u/375251?v=4)](https://github.com/everon "everon (4 commits)")

### Embed Badge

![Health badge](/badges/edmondscommerce-module-magento2-test-runner/health.svg)

```
[![Health](https://phpackages.com/badges/edmondscommerce-module-magento2-test-runner/health.svg)](https://phpackages.com/packages/edmondscommerce-module-magento2-test-runner)
```

###  Alternatives

[dms/phpunit-arraysubset-asserts

This package provides ArraySubset and related asserts once deprecated in PHPUnit 8

14228.7M340](/packages/dms-phpunit-arraysubset-asserts)[orchestra/workbench

Workbench Companion for Laravel Packages Development

8219.1M69](/packages/orchestra-workbench)[phpbenchmark/phpbenchmark

Easy to use benchmark toolkit for your PHP-application. This library contains classes for comparing algorithms as well as benchmarking application responses

8011.5k2](/packages/phpbenchmark-phpbenchmark)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
