Skip to content

Instantly share code, notes, and snippets.

@michmzr
Created June 23, 2023 11:11
Show Gist options
  • Save michmzr/415dc20c8c8e6f98121d29c520e9058f to your computer and use it in GitHub Desktop.
Save michmzr/415dc20c8c8e6f98121d29c520e9058f to your computer and use it in GitHub Desktop.
Chai BDD assertions provide a more expressive and readable syntax compared to the assert library in Node.js.
The BDD-style syntax resembles natural language, making the tests easier to understand and maintain.
// Using Chai BDD assertions
expect(foo).to.be.a('string');
expect(foo).to.have.lengthOf(3);
expect(foo).to.equal('bar');
// Using Node.js assert library
assert.strictEqual(typeof foo, 'string');
assert.strictEqual(foo.length, 3);
assert.strictEqual(foo, 'bar');
Chai provides a comprehensive set of assertions out of the box, covering a wide range of use cases.
This makes it easier to write meaningful and comprehensive tests without the need for additional custom assertions.
expect(foo).to.be.a('string');
expect(foo).to.have.lengthOf(3);
expect(foo).to.equal('bar');
expect([1, 2, 3]).to.include(2);
expect({ a: 1, b: 2 }).to.have.property('b').that.equals(2);
// ...and many more assertions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment