Skip to content
This repository has been archived by the owner on Sep 23, 2022. It is now read-only.

tgvashworth/integrator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

integrator

Build Status semantic-release

An action-oriented approach to integration testing, simulating users to comprehensively test your app.

Status: Prototype. TweetDeck uses it, but it's not ready for general use.

Why does Integrator exist?

There are numerous problems with integration tests today:

  • They don't simulate users. Only the user-flows that you thought to test are tested, and assertions are coupled to CSS selectors. That's not how a user sees your application and it results in change-detector tests.

  • They have implicit dependencies. Current test frameworks encourage you to write tests that depend on the success of another, without an explicit notion of dependency. The result is that test order might be important, which is hard to debug and refactor.

  • Tests are hard to write and debug. This leads to flaky tests, false negatives or (worse) false positives, and untested but critical user flows.

Fixing it requires taking some of the manual work out of creating and maintaining these tests, providing a framework that helps the test author to avoid writing bad tests.

What does that mean specifically?

  • Explicit, reproducible setup & teardown
  • Real user simulation in a chaotic testing
  • Explicit dependencies where ordering is well-defined and deterministic

Integrator is a test runner and authoring framework that tries to help.

License

MIT