angular-parallel-test-runner
v2.3.0
Published
A tool to run Angular tests in parallel
Downloads
155
Maintainers
Readme
Angular Parallel Test Runner
angular-parallel-test-runner
is a command-line tool designed to run Angular tests in parallel across multiple projects. It utilizes the concurrency capabilities of your machine, maximizing the efficiency of running tests by leveraging multiple CPU cores.
Table of Contents
Installation
To install angular-parallel-test-runner
, use npm:
npm install -g angular-parallel-test-runner
Make sure to have concurrently
installed as a dependency if not already:
npm install concurrently
Usage
To run tests across all Angular projects defined in your angular.json
file:
angular-parallel-test-runner [continueOnFailure] [concurrency]
Options
continueOnFailure
: (Optional) Specifies whether to continue running tests even if some fail. Acceptstrue
orfalse
. Defaults totrue
.concurrency
: (Optional) Specifies the number of concurrent test processes to run. If not provided, defaults to a value based on your system's CPU cores.
Examples
Run with default settings:
angular-parallel-test-runner
Run with custom concurrency level and continue on failure:
angular-parallel-test-runner true 4
Run with stopping on the first failure and default concurrency:
angular-parallel-test-runner false
How It Works
- Loading Angular Projects: The tool reads the
angular.json
file in your current directory to determine the list of projects. - Concurrency Management: It determines the optimal concurrency level based on your CPU cores or a user-provided value.
- Test Execution: Uses
concurrently
to run tests in parallel for each project. If a project has no tests, it skips it gracefully. - Error Handling: If tests fail and
continueOnFailure
is set tofalse
, it stops all tests. Otherwise, it logs errors and proceeds with the remaining tests. - Results Summary: After execution, the tool provides a summary of test results, including successful tests, failed tests, projects with no tests, and any unfinished tests if the execution is interrupted.
Contributing
Contributions are welcome! Please check the repository for issues to start contributing or feel free to raise new ones.
- Fork the repository.
- Create a new branch (
git checkout -b feature/YourFeature
). - Commit your changes (
git commit -am 'Add new feature'
). - Push to the branch (
git push origin feature/YourFeature
). - Create a new Pull Request.
Author: Mahdi Hajian
Feel free to reach out with any questions or suggestions!