cypress/angular
👉 but don't forget to check out our Angular CDK Harness support with @jscutlery/cypress-harness 👈
Last version's source code: cypress-mount-0.12.7
This module brings Angular support to Cypress Component Testing.
It is aiming to make Cypress Component Testing with Angular easier than writing code without tests 😜.
Cypress Component Testing is the missing balance between component unit-testing and pure e2e testing.
It will help you enjoy both the benefits of unit-tests isolation and Cypress tooling & Developer eXperience.
Cypress Component Testing (and everything else) is easier with Nx.
If you are writing a new app, you can create a Nx workspace with the following command:
yarn create nx-workspace # or npm init nx-workspace
... otherwise, you can migrate to Nx using:
ng add @nx/workspace
The following install guide targets Cypress >= 7, follow this guide for Cypress < 7.
yarn add -D @jscutlery/cypress-mount @jscutlery/cypress-angular-dev-server @cypress/webpack-dev-server html-webpack-plugin
# or
npm install -D @jscutlery/cypress-mount @jscutlery/cypress-angular-dev-server @cypress/webpack-dev-server html-webpack-plugin
2.a. Enable Cypress Component Testing by updating cypress.json
:
{
...
"component": {
"testFiles": "**/*.spec.{js,ts,jsx,tsx}",
"componentFolder": "./src/components"
}
}
2.b. Update the include
property in tsconfig.json
file:
{
...
"include": ["src/components/**/*.ts", "src/support/**/*.ts"],
}
2.c. Import support commands by updating e2e folder's *-e2e/src/support/index.ts
and adding:
import '@jscutlery/cypress-mount/support';
2.d. Setup Angular Dev Server in *-e2e/src/plugins/index.ts
, in order to build angular components (e.g. handle templateUrl etc...):
import { startAngularDevServer } from '@jscutlery/cypress-angular-dev-server';
module.exports = (on, config) => {
on('dev-server:start', (options) =>
startAngularDevServer({ config, options })
);
return config;
};