Spearmint icon indicating copy to clipboard operation
Spearmint copied to clipboard

Testing, simplified. || An inclusive, accessibility-first GUI for generating clean, semantic Javascript tests in only a few clicks of a button.

Spearmint helps developers easily create functional Accessibility, Endpoint, GraphQL, Puppeteer, React, Hooks, Redux, Svelte, Vue, Security, and now Solid.js tests without writing any code. It dynamically converts user inputs into executable Jest test code by using DOM query selectors provided by @testing-library.

Installation

Please download spearmint from our website.

How to use in development mode

Please refer to README-dev.md


How it works

  1. On the initial screen, a user is prompt to login, sign up (via OAuth or standard sign-up/login), or login as a guest. Once logged in, choose your file and load your application to start creating tests.

Demo of the login page

  1. Utilize our auto-complete, drop-down options, and tooltips features to easily create arrangement, action, and assertion test statements for React, Vue, Svelte, and Solid; reducer, action creator, asynchronous action creator, and middleware test statements for Redux; and hooks, context, endpoint, and GraphQL test statements. Spearmint can save test templates for future use for logged in user (not guests).

Demo of the show button

  1. Spearmint will then convert user input to dynamically generate a test file. You can click the export icon on the nav bar to automatically save the test file in the __tests__ folder to run test or to modify in the future.

Demo of the save button

  1. Lastly click Run Test button and follow the guide on the popup and click what type of test you would like to perform. Demo of the run button

  2. Spearmint v.0.11 now supports Solid.js, an up-and-coming front-end JavaScript library.

Screenshot of the solid panel

Containerization with Docker

Spearmint is now available as an OCI-compliant container image via Docker.

Windows and Linux users may access Spearmint by running a Docker image.

Please pull down the image from Docker hub if you would like to run Spearmint on Docker.

Screenshot of spearmint's docker hub webpage

For developers: README-dev.md

New features with version 0.11.0

  • Testing capability for Solid.js components

  • Optimized UI/UX features

  • Containerization in Docker


The Spearmint Team


Alan @alanrichardson7
Alex @apark0720
Alfred @astaiglesia
Anjanie @anjaniemccoy
Annie @annieshinn
Ben @bkwak
Chacta @StaticShock93
Charlie @charlie-maloney
Chen(Chloe) @chloelu29
Chloe @HeyItsChloe
Chris @cptcheng
Cornelius @corneeltron
David @koyykdy
Dave @davefranz
Deriante @dsin16
Dieu @dieunity
Eric K. @etkomatsu
Eric P. @ericgpark
Evan @Berghoer
Gabriel @bielchristo
Huy @huyqbui
Joe @josephnagy
Johnny @johnny-lim
Judy @judysongg
Julie @julicious100
Justin @JIB3377
Karen @karenpinilla
Li @delacour124
Linda @lcwish
Luis @Luis-KM-Lo
Max B. @mbromet
Max W. @MaxWeisen
Mike @mbcoker
Mina @alsdk850
Mo @mhmaidi789
Myles @mylestsutsui
Natlyn @natlynp
Nick @nicolaspita
Owen @oweneldridge
Rachel @rachethecreator
Ruzeb @Ruzeb
Sean H. @sean-haverstock
Sean Y. @seanyyoo
Sharon @sharon-zhu
Sieun @sieunjang
Terence @TERR-inss
Tolan @taoantaoan
Tristen @twastell
Tyler @tytyjameson
Yeunha @yeunhakim93



If You Want To Contribute:

The following is a list of features + improvements for future open-source developers that the Spearmint team has either started or would like to see implemented. Or, if you have additional new ideas, feel free to implement those as well!

  • Exporting test files in TypeScript
  • Additional security testing functionality
  • Dry refactoring of codebase