Spearmint helps developers easily create functional Accessibility/Endpoint/GraphQL/Puppeteer/React/Hooks/Redux/Svelte/Vue/Security tests without writing any code. It dynamically converts user inputs into executable Jest test code by using DOM query selectors provided by @testing-library.
Please download spearmint from our website. Available for Mac OS, Windows, and Linux.
Mac Developers: Install Xcode
Windows Developers: Install Node.js globally
- Fork and clone this repository.
npm install
npm run watch
npm run start-dev
Note: Windows users may also have to run Spearmint in admin mode
- Create a .env file in the root directory of the project
- Insert the following lines of code into the .env file
APP_DEV=true
BROWSER=non
SKIP_PREFLIGHT_CHECK=true
MONGO_LINK=
- Set MONGO_LINK to your MongoDB URI
- 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.
- Utilize our auto-complete, drop-down options, and tooltips features to easily create arrangement, action, and assertion test statements for React, Vue, and Svelte; 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).
- 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.
-
Lastly click Run Test button and follow the guide on the popup and click what type of test you would like to perform.
-
The latest version of Spearmint adopted testing capability for Svelte and GraphQL. The Svelte library has been utilized to test your Svelte application.
-
Testing capability for Svelte components
-
GraphQL endpoint testing functionality
-
Google Oauth
-
Facebook Oauth
-
Dependency refactoring
-
Additional typescript component conversions
-
Logout button
-
UI/UX streamlining
-
Ample bug fixes
Alan @alanrichardson7
Alex @apark0720
Alfred @astaiglesia
Annie @annieshinn
Ben @bkwak
Charlie @charlie-maloney
Chen(Chloe) @chloelu29
Chloe @HeyItsChloe
Chris @cptcheng
Cornelius @corneeltron
David @koyykdy
Dave @davefranz
Deriante @dsin16
Dieu @dieunity
Eric @ericgpark
Evan @Berghoer
Gabriel @bielchristo
Huy @huyqbui
Joe @josephnagy
Johnny @johnny-lim
Judy @judysongg
Julie @julicious100
Justin @JIB3377
Karen @karenpinilla
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 Y @seanyyoo
Sean H @sean-haverstock
Sharon @sharon-zhu
Sieun @sieunjang
Terence @TERR-inss
Tolan @taoantaoan
Tristen @twastell
Tyler @tytyjameson
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!
- Containerization with Docker
- Exporting test files in TypeScript
- Additional security testing functionality
- Dry refactoring of codebase