FAQ

Another JS unit testing framework??

Yes.

Why?

Because modern JS unit testing libraries have some great ideas but are also often complicated and leave you constantly referring back to the docs. ReadyTest is designed to be as intuitive as possible so that you can focus on your project.

Does ReadyTest support expect style assertions?

No. Why do you need that anyway? Does a chained sentence really read any better than a clear function name? Is it really worth having to remember to.be or not.to.be?

Does ReadyTest provide mocks/stubs/spies?

No. Mocking object methods is simple to do in JS and is often very use case specific. A convoluted mocking API just gets in your way. Write your own mocks in setup methods or tuck them away in custom assertions with createAssertion. If you need to mock native objects, have a look at Sinon.js. It's great.

Additionally, spying on functions to see how they ran is in many cases an antipattern. You should be testing the expected public state of your code, not its internals.

Will ReadyTest run my async tests in parallel?

No. It runs each test one at a time until it finishes. It's beautiful.

But that slows down my entire suite!

These are unit tests. You want to test your code not your wait time. Mock async methods away!

Will ReadyTest randomize my tests?

Yes. You can both randomize tests and pass a seed back in to pin down tricky race conditions.

What is browser support like?

Many projects require decent browser support and the trickiest bugs often happen in the worst environments. Any browser that supports ES5 will work out of the box, and earlier IEs will run with polyfills.