Skip to content
/ lode Public

A universal GUI for unit testing built with Electron and Vue.js

License

Notifications You must be signed in to change notification settings

lodeapp/lode

Repository files navigation

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

Lode screenshot - macOS

Getting started

You can download the latest pre-packaged version here or choose a version from the releases page. For instructions on how to use the software, see the documentation.

Lode currently supports the following testing frameworks:

Development

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

License

Code is licensed under the MIT license.

Usage of the software is bound to its own terms and conditions.