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:
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:
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.