Before Spec API

The before:spec event fires before a spec file is run. When running cypress via cypress open, the event will fire when the browser launches.


on('before:spec', (spec) => {
  /* ... */

spec (Object)

Details of the spec file, including the following properties:

nameThe base name of the spec file (e.g. login_spec.js)
relativeThe path to the spec file, relative to the project root (e.g. cypress/integration/login_spec.js)
absoluteThe absolute path to the spec file (e.g. /Users/janelane/my-app/cypress/integration/login_spec.js)


You can return a promise from the before:spec event handler and it will be awaited before Cypress proceeds running the spec.

Log the relative spec path to stdout before the spec is run

module.exports = (on, config) => {
  on('before:spec', (spec) => {
    // spec will look something like this:
    // {
    //   name: 'login_spec.js',
    //   relative: 'cypress/integration/login_spec.js',
    //   absolute: '/Users/janelane/app/cypress/integration/login_spec.js',
    // }

    console.log('Running', spec.relative)

See also