Skip to content
⚡ Zero config GUI for Jest
TypeScript JavaScript
Branch: master
Clone or download
Latest commit 487b6fd Jan 9, 2020
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
.vscode fixing some ide shit Apr 3, 2019
branding Update banner image Mar 25, 2019
integration Clean up typos Mar 30, 2019
scripts Added 'open' to externals so it works on Ubuntu Mar 28, 2019
server
ui Pretty Printing HTML in console.logs. (#167) Oct 30, 2019
.all-contributorsrc docs: add amilajack as a contributor (#175) Dec 19, 2019
.babelrc 🚛 Upgrade babel-plugin-styled-components to 1.10.6 from 1.8.0 (#170) Nov 12, 2019
.gitignore Cleanup starter kit Dec 29, 2018
CONTRIBUTING.MD Fix Typos Apr 17, 2019
LICENSE Cleanup starter kit Dec 29, 2018
README.md docs: add amilajack as a contributor (#175) Dec 19, 2019
Troubleshooting.md Move troubleshooting to own file Apr 4, 2019
image.png
nodemon.json
package.json
tsconfig.json stuff Mar 6, 2019
tsconfig.server.json Bunch of stuff Mar 22, 2019
yarn.lock 🚛 Upgrade babel-plugin-styled-components to 1.10.6 from 1.8.0 (#170) Nov 12, 2019

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.

Shortcut keys

alt+t - run all tests

alt+enter - run selected file

alt+w - watch

alt+s - search

escape - close search

Troubleshooting

Have a look at some of the common workarounds.

Contribute

Have a look at the contribution guide.

Contributors

Thanks goes to these wonderful people (emoji key):


Duncan Beevers

💻

Max Bridgland

📖 🤔 🐛 💻

Yuraima Estevez

💻

Jake Crosby

💻

Gavin Henderson

💻

briwa

💻

Luan Ferreira

💻

Tushar Gupta

💻

Agusti Fernandez

💻 🤔

Moos

🐛 💻 📖

MacZel

💻 🤔

Vikram Dighe

💻

John Smey

💻 🤔 🐛

BuckAMayzing

💻 🐛

Rahul A. Krishna

💻 🤔 🔧

Amila Welihinda

🚇

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

You can’t perform that action at this time.