Skip to content
⚡ Zero config GUI for Jest
Branch: master
Clone or download
krazylegz and Raathigesh Open In Env EDITOR (#127)
Uses the Open In Editor button to open in the editor set by `$EDITOR` if
`code` is not valid on your platform.
Latest commit bb50b40 Apr 18, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
.vscode
branding
integration
scripts Added 'open' to externals so it works on Ubuntu Mar 28, 2019
server
ui Few more fixes Apr 5, 2019
.all-contributorsrc
.babelrc Initial file explorer implementation Dec 29, 2018
.gitignore
.travis.yml
CONTRIBUTING.MD Fix Typos Apr 17, 2019
LICENSE Cleanup starter kit Dec 29, 2018
README.md
Troubleshooting.md
image.png
nodemon.json
package.json
tsconfig.json
tsconfig.server.json
yarn.lock

README.md


Majestic is a GUI for Jest

  • Run all the tests or a single file
  • Toggle watch mode
  • 📸 Update snapshots
  • Examine test failures as they happen
  • Console.log() to the UI for debugging
  • 🚔 Built-in coverage report
  • 🔍 Search tests
  • 💎 Works with flow and typescript projects
  • 📦 Works with Create react app

Majestic supports Jest 20 and above

Get started

Run majestic via npx in a project directory

cd ./my-jest-project # go into a project with Jest
npx majestic # execute majestic

or install Majestic globally via Yarn and run majestic

yarn global add majestic # install majestic globally
cd ./my-jest-project # go into a project with Jest
majestic # execute majestic

or install Majestic globally via Npm and run majestic

npm install majestic -g # install majestic globally
cd ./my-jest-project # go into a project with Jest
majestic # execute majestic

Running as an app

Running with the --app flag will launch Majestic as a chrome app.

Optional configuration

You can configure Majestic by adding majestic key to package.json.

// package.json
{
    "majestic": {
        // if majestic fails to find the Jest package, you can provide it here. Should be relative to the package.json
        "jestScriptPath": "../node_modules/jest/bin/jest.js",
        // if you want to pass additional arguments to Jest, do it here
        "args": ['--config=./path/to/config/file/jest.config.js'],
        // environment variables to pass to the process
        "env": {
          "CI": "true"
        }
    }
}

Optional configuration in project with multiple Jest configuration files

{
    "majestic": {
        "jestScriptPath": "../node_modules/jest/bin/jest.js",
        "configs": {
          "config1": {
            "args": [],
            "env": {}
          },
          "config2": {
            "args": [],
            "env": {}
          }
        }
    }
}

Arguments

--config - Will use this config from the list supplied in optional configuration.

--debug - Will output extra debug info to console. Helps with debugging.

--noOpen - Will prevent from automatically opening the UI url in the browser.

--port - Will use this port if available, else Majestic will pick another free port.

--version - Will print the version of Majestic and will exit.

Troubleshooting

Have a look at some of the common workarounds.

Contribute

Have a look at the contribution guide.

License

MIT

Contributors

Thanks goes to these wonderful people (emoji key):

Duncan Beevers
Duncan Beevers

💻
Max Bridgland
Max Bridgland

📖
Yuraima Estevez
Yuraima Estevez

💻
Jake Crosby
Jake Crosby

💻
Gavin Henderson
Gavin Henderson

💻
briwa
briwa

💻
Luan Ferreira
Luan Ferreira

💻
Tushar Gupta
Tushar Gupta

💻
Agusti Fernandez
Agusti Fernandez

💻 🤔
Moos
Moos

🐛 💻 📖
MacZel
MacZel

💻 🤔
Vikram Dighe
Vikram Dighe

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

You can’t perform that action at this time.