DEV.co
Open-Source Testing · open-source-labs

Spearmint

Spearmint is an open-source Electron-based GUI tool that generates Jest test code without requiring manual coding. It supports multiple frameworks (React, Vue, Svelte, Redux, GraphQL, Puppeteer) and emphasizes accessibility-first design, allowing developers to create functional and endpoint tests through visual configuration.

Source: GitHub — github.com/open-source-labs/Spearmint
1.3k
GitHub stars
177
Forks
TypeScript
Primary language
MIT
License (OSI-approved)

Key facts

Objective fields from the source. Values we can't verify are shown as “Unknown” rather than guessed.

FieldValue
Repositoryopen-source-labs/Spearmint
Owneropen-source-labs
Primary languageTypeScript
LicenseMIT — OSI-approved
Stars1.3k
Forks177
Open issues10
Latest releasev0.14.0 (2023-05-17)
Last updated2025-06-07
Sourcehttps://github.com/open-source-labs/Spearmint

What Spearmint is

Spearmint is a TypeScript/React-based Electron desktop application that converts user GUI inputs into executable Jest test suites using @testing-library DOM selectors. It supports diverse test types (accessibility, GraphQL, Puppeteer, Redux, hooks) and exports vanilla JavaScript test files for Jest execution.

Quickstart

Get the Spearmint source

Clone the repository and explore it locally.

terminalbash
git clone https://github.com/open-source-labs/Spearmint.gitcd Spearmint# follow the project's README for install & configuration

Need it deployed, integrated, or customized instead? DEV.co ships production installs.

Best use cases

Accelerating Jest Test Suite Creation

Teams adopting Jest who want to reduce manual test-writing overhead. Spearmint's visual builder allows non-expert test authors to generate syntactically correct, semantically clean tests for React, Vue, and other frameworks in minutes rather than hours.

Accessibility-First Testing Workflows

Development teams prioritizing WCAG compliance and axe-core integration. Spearmint's accessibility-first design and built-in accessibility test generation make it suitable for organizations mandating accessible test coverage alongside functional tests.

Prototyping and Onboarding Test Patterns

New team members or projects needing rapid test scaffolding. Visual test generation lowers the barrier to entry for developers unfamiliar with Jest syntax or testing best practices, while experienced developers can still manually edit generated code.

Implementation considerations

  • Requires local Electron desktop installation (download from spearmintjs.com); no web-based or headless deployment option currently documented.
  • Generated tests are vanilla JavaScript; teams must manually transpile or integrate TypeScript compilation if TypeScript test files are required.
  • Manual editing of generated tests is necessary after export; the visual UI is a generator, not a bidirectional editor. Selected test files must be active in the left panel to persist changes.
  • Dependency on @testing-library and Jest; ensure project already uses or is willing to adopt these testing libraries.
  • Known bugs in accessibility features (screen reader, text-to-speech) and Redux drag-drop may require workarounds or manual test fixes in those domains.

When to avoid it — and what to weigh

  • TypeScript Test Export Requirement — Projects that require TypeScript test files. Spearmint currently exports only vanilla JavaScript; TypeScript export is listed as a future roadmap item but not yet implemented.
  • Production-Critical High-Velocity Environments — Organizations needing bleeding-edge dependency versions and React 18+ compatibility out of the box. The roadmap explicitly notes MUI incompatibility with React 18+ and planned dependency updates; current state may lag behind cutting-edge toolchain versions.
  • Projects Requiring Advanced Drag-Drop Test Logic — Applications with complex drag-and-drop interaction testing. Known issues include remnant draggable elements in Redux test components and loss of drag-drop functionality pending React Dev Tools or react-dnd implementation.
  • Advanced Screen Reader or Text-to-Speech Testing — Accessibility testing requiring functional screen reader narration or text-to-speech. Known bugs explicitly document that screen reader does not read and text-to-speech does not function properly.

License & commercial use

MIT License. Permissive OSI-approved license allowing commercial use, modification, and distribution with no royalty or use restrictions, subject to retaining the original license notice.

MIT is a permissive open-source license; commercial use of Spearmint itself (e.g., bundling, reselling, internal use) is permitted. No enterprise support, SLAs, or commercial licensing model is documented. Advise legal review if redistributing modified versions or building a service on top of Spearmint.

DEV.co evaluation signals

Editorial assessment — not user reviews. Directional, with an explicit confidence level.

SignalAssessment
MaintenanceActive
DocumentationAdequate
License clarityClear
Deployment complexityLow
DEV.co fitGood
Assessment confidenceHigh
Security considerations

Spearmint is a local Electron desktop application with no network communication, authentication, or data collection documented. Known issues (screen reader, text-to-speech, drag-drop bugs) do not appear to involve security vulnerabilities. Code is open-source; review the repository for any input validation concerns in test file generation. No formal security audit or vulnerability disclosure process documented.

Alternatives to consider

Cypress Studio

Browser-native test recording for end-to-end testing; better for complex UI interactions but different scope (E2E vs. unit/component). Cypress owns the tool and provides commercial support.

Testing Library + IDE extensions (e.g., VS Code Snippet libraries)

Manual but lightweight alternative; no GUI but offers full control and no new tooling to learn. Suitable for teams already comfortable with Jest syntax.

Storybook + Component Testing

Addresses component and accessibility testing with interactive visual development; integrates with Playwright or Vitest. Broader ecosystem but steeper learning curve.

Software development agency

Build on Spearmint with DEV.co software developers

Download Spearmint and start generating clean Jest tests in minutes. Use the visual builder for React, Vue, Redux, GraphQL, and more—then manually edit and integrate into your CI/CD pipeline.

Talk to DEV.co

Related open-source tools

Surfaced by semantic similarity across the DEV.co open-source index.

Related on DEV.co

Explore the category and the services that help you build with it.

Spearmint FAQ

Can I use Spearmint to generate TypeScript tests?
Not currently. Spearmint exports vanilla JavaScript test files. TypeScript export is on the roadmap but not yet implemented. You can manually convert generated tests or use a transpiler.
Is Spearmint a replacement for manual testing?
No. Spearmint is a code generator that reduces boilerplate; it generates Jest test structure and selectors. You still need to verify test logic, assertions, and coverage are appropriate for your application.
Can I use Spearmint in a CI/CD pipeline?
Unknown. Spearmint is documented as an interactive Electron desktop application with no CLI or headless mode described. You would export tests manually and commit them to version control for CI execution.
Does Spearmint support my testing framework?
Spearmint supports Jest tests for React, Vue, Svelte, Solid.js, Redux, GraphQL, Puppeteer, hooks, and endpoint testing. It does not support Vitest, Playwright, or other test runners. Check the README for the full list of supported frameworks.

Custom software development services

From first prototype to production, DEV.co delivers software development services around tools like Spearmint. Our software development agency staffs experienced software developers and web developers for custom software development, web development, integrations, and ongoing support across open-source testing and beyond.

Ready to Accelerate Your Test Suite?

Download Spearmint and start generating clean Jest tests in minutes. Use the visual builder for React, Vue, Redux, GraphQL, and more—then manually edit and integrate into your CI/CD pipeline.