MetaMask / MetaMask/metamask-extension

Migrate from `mocha-junit-reporter` to a json reporter

Open
#32,787 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

### What is this about?

We do not need to use XML anymore, because we are not on CircleCI. If we migrated to a json reporter, the test results would be more readable, and we wouldn't need the overly-complicated XML parsing logic (and the extra dependency that comes with it)

We should make sure that the new test reporter supports retries, as the current one does not. This would result in a more accurate test report, as earlier attempts would be recorded. Currently, if a test fails on the first try, and it is retried, only the second attempt will show up. So a test might be flaky and one would never know, because it's not reported.

### Scenario

_No response_

### Design

_No response_

### Technical Details

_No response_

### Threat Modeling Framework

_No response_

### Acceptance Criteria

_No response_

### Stakeholder review needed before the work gets merged

- [x] Engineering (needed in most cases)
- [ ] Design
- [ ] Product
- [x] QA (automation tests are required to pass before merging PRs but not all changes are covered by automation tests - please review if QA is needed beyond automation tests)
- [ ] Security
- [ ] Legal
- [ ] Marketing
- [ ] Management (please specify)
- [ ] Other (please specify)

### References

_No response_

Contributor guide

Open the contributing guide

Research direction

Locate the mocha-junit-reporter configuration, the XML parsing logic, and the dependency declarations; then identify the test-reporting entry point and available JSON reporters. Confirm that the replacement records every retry attempt and remove the obsolete XML path and dependency, with the test suite and generated report providing the completion check.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
testing-qa
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.