/bigtest

Tests that speed up development, not slow it down

Primary LanguageTypeScript

BigTest

Test Status Chat on Discord created by Frontside

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!

Real Applications

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.

Real Browsers

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.

Real Stability

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.

Getting started

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, Page, Headline } from 'bigtest';

export default test('My Test')
  .step(Page.visit('/'));
  .step(Headline("My Application").exists());

Start the BigTest server:

yarn bigtest server

And run your tests:

yarn bigtest test

Development

Installation

  1. Clone this repository git clone git@github.com:thefrontside/bigtest.git
  2. Run yarn

Building

Many of the packages in this repository depend on each other in order to function. However, being assembled from TypeScript and HTML webapps, these packages need to be built before they can be consumed. In order to build dependencies

$ yarn prepack

This will compile each package into the state in which it will ultimately appear on NPM.

Running tests

  1. Run yarn to ensure that all dependencies are installed
  2. Run yarn prepack to build all packages
  3. Run yarn test to run automated tests

Running lints

  1. Run yarn to ensure that all dependencies are installed
  2. Run yarn prepack to build all packages
  3. Run yarn lint to run linters

License

FOSSA Status