yolpo, jasmine, mocha and the others

Consider this example (from jasmine.js)

describe("description of the full suite", function() {
  var a;
  it("expect a var assignment to work", function() {
    a = true;
    expect(a).toBe(true);
  });
});

And consider how we would write the same thing in yolpo

// expect var assignment to work
a = true;
if (a != true) throw '';

The code in yolpo is more terse, in fact it's just a tiny javascript program.

On the contrary, Jasmine needs to have the description of a test as argument of the function describe to provide a helpful report in case of a failure. Unfortunately, describe is a function for something we have already in javascript: a comment.

The problem with Jasmine is not around its API. Jasmine's API looks quite neat and intuitive; and the same applies for Mochajs, BusterJS and the many other testing frameworks.

The problem is more fundamental than that: it will always be sub-optimal to solve unit tests by leaning on a testing API.

People can debate at length on what API is more readable, flexible, powerful between mocha vs jasmine, busterjs vs but, unfortunately, what all those tools are doing is trying to solve the problem from the wrong end.