magento / magento/community-features

[DevEx] Eliminate test module copying when executing tests

Open
#47 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

architecture team request devguild good first issue Imagine2018 Priority: P2
Dominant language
No language data
Stars
46
Forks
14
PR merge metrics
No merged PRs in 30d

Description

Test module copying should be eliminated in favor of custom autoload when executing integration tests.

Why this is a problem from Developer Experience point of view:

  1. After executing integration tests on one branch and switching to another branch, test modules stay in the app/code and result in unpredictable errors caused by incompatibility between branches.
  2. After message queue was moved to CE (since 2.3) and consumers are started automatically (since 2.2) there are tens of consumers spawned automatically by cron job. They consume all the memory on the instance, 4GB is not enough in this case.

ℹ️ Test modules are also copied to app/code by web API functional tests, but there are no RabbitMQ tests. Also, we cannot use custom auto-loader in case of functional tests because test modules must be properly loaded by regular autoloader and affect HTTP calls made from tests to the instance under test.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or concrete test entry points are named. Start by tracing how integration tests copy modules into app/code and how custom autoloading could replace that, while preserving the stated web API functional-test behavior; done means integration tests no longer copy modules and do not leave branch-specific artifacts or spawn problematic consumers.

Written by the indexing model from the issue text.

Assessment

Tech stack
rabbitmq
Domain
developer-experience, testing
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.