A Suite of JavaScript libraries and framework extensions to help you
answer the question:
Does my application work in real life?
BigTest is an innovative new test runner. It is built to test any web application in any browser and do it with great performance and test stability.
BigTest is under heavy development, we are currently at an alpha stage of development, and adventurous users can start using BigTest today. Want to help us get to Beta? Check out the beta milestone and help us cross the finish line!
The surest way to know if an application is going to work is to actually run it. BigTest is built to work with any web application out of the box and requires zero integration inside your application code. From frontend applications to server side rendered, React, Angular, Vue, Ember and so on… If you can build it, you can test it.
Does your appication run in a browser? Then if a test is going to measure whether it works or not, it also needs to run in a real browser that a real user might use. BigTest is built from the ground up to work with any browser, including mobile browsers.
Testing big is hard because there can be hundreds if not thousands of things happening concurrently inside your application, including user interactions. We have taken great care to make sure BigTest tests do not suffer from the flakiness issues often associated with big tests. Read about how we eliminate flakiness on our blog.
BigTest is currently alpha level software and we are still building documentation, so be prepared for some roughness around the edges, but if you already want to give it a go, here is how you can get going:
Install bigtest in your application:
yarn add -D bigtest
Run the init command to set up your application:
yarn bigtest init
Add a test file in test/my-test.test.js
:
import { test, visit, Heading } from 'bigtest';
export default test('My Test')
.step(visit('/'))
.step(Heading("My Application").exists());
Start the BigTest server:
yarn bigtest server
And run your tests:
yarn bigtest test
- Clone this repository
git clone [email protected]:thefrontside/bigtest.git
- Run
yarn
To build every package into a publishable state for npm, run the following command at the root of the repo:
yarn prepack
All of the packages which have a compiled output use typescript project references for faster build times and a better project structure.
Any individual package can be built with the prepack
script, eg. for @bigtest/server
yarn workspace @bigtest/server prepack
The prepack
command will build the server package and any dependant packages that are set in the "references"
field of the relevant tsconfig.json
.
The following scripts can work on all packages when executed at the root level:
- Run
yarn prepack:tsc
to compile all typescript - Run
yarn watch
to compile all typescript and instructtsc
to watch for file modifications. - Run
yarn clean:tsc
to delete all thedist
directories and*.tsbuildinfo
files and ensure that a clean build is being performed. - Run
yarn clean:tsbuild
to delete only the*.tsbuildinfo
files.
- Run
yarn
to ensure that all dependencies are installed - Run
yarn prepack
to build all packages - Run
yarn test
to run automated tests
- Run
yarn
to ensure that all dependencies are installed - Run
yarn prepack
to build all packages - Run
yarn lint
to run linters