Lode is an open source Electron-based universal test runner graphical user interface. It is written in TypeScript and Vue.


To run it locally, you must first clone this repository and run the following commands:

yarn install
yarn dev

Afterwards, to build an application package for the current platform, run the following:

yarn build

Alternatively, you can pack and execute the application directly, which is useful to debug issues that might not occur in development mode. Note that because production state is encrypted, the existing development state will not work:

yarn simulate

The Lode codebase has two sets of tests: Jest for the main process and Cypress for the renderer process.

yarn test       # Jest tests
yarn test:e2e   # Cypress tests
yarn cypress    # Open the Cypress application

Because the Lode application enforces context isolation, we are able to run renderer process without the need for Node.js APIs, and since Electron's API is access through the preload scripts using a centralized Lode object, we can easily mock their behavior for testing with Cypress.

If you're just getting started with Electron development, I would strongly recommend adhering to context isolation. Not only it's essential for a secure application, it also gives you a clear boundary for testing the main and renderer processes separately, as Lode does.