689a084251
**What kind of change does this PR introduce?** Spawn own server when running `ng e2e`. Give user option to not replace `ng e2e`. **Did you add tests for your changes?** Yes. **If relevant, did you update the documentation?** Yes, `ng-schematics` README.md updated. **Summary** When running `ng-schematics`'s `ng e2e` command spawns it's own server. This way we remove the need of developers to run `ng server` separately thus increasing ease of use in development and CI. We want to support Protractor migration so we give the user the option to opt out of replacing `ng e2e` so they can have a gradual migration. (Note: There may be issues with folder conflicts, to be address in a PR for adding better Migration support) **Does this PR introduce a breaking change?** Yes, as we don't check if required options are there before spawning the server. **Other information** Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com> |
||
---|---|---|
.. | ||
src | ||
test/src | ||
.eslintignore | ||
.gitignore | ||
.mocharc.cjs | ||
copySchemaFiles.js | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json | ||
tsconfig.spec.json |
Puppeteer Angular Schematic
Adds Puppeteer-based e2e tests to your Angular project.
Usage
Run the command bellow in an Angular CLI app directory and follow the prompts. Note this will add the schematic as a dependency to your project.
ng add @puppeteer/ng-schematics
Or you can use the same command followed by the options bellow.
Currently, this schematic supports the following test frameworks:
- Jasmine [https://jasmine.github.io/]
- Jest [https://jestjs.io/]
- Mocha [https://mochajs.org/]
- Node Test Runner (Experimental) [https://nodejs.org/api/test.html]
With the schematics installed you can run E2E tests:
ng e2e
Note: Command spawns it's own server on the same port
ng serve
does.
Options
When adding schematics to your project you can to provide following options:
Option | Description | Value | Required |
---|---|---|---|
--isDefaultTester |
When true, replaces default ng e2e command. |
boolean |
true |
--exportConfig |
When true, creates an empty Puppeteer configuration file. (.puppeteerrc.cjs ) |
boolean |
true |
--testingFramework |
The testing framework to install along side Puppeteer. | "jasmine" , "jest" , "mocha" , "node" |
true |
Contributing
Check out our contributing guide to get an overview of what you need to develop in the Puppeteer repo.
Unit Testing
The schematics utilize @angular-devkit/schematics/testing
for verifying correct file creation and package.json
updates. To execute the test suit:
npm run test