1. code
assertion library
code
Package: code
Created by: hapijs
Last modified: Fri, 01 Dec 2023 08:26:32 GMT
Version: 5.2.4
License: BSD-3-Clause
Downloads: 23,290
Repository: https://github.com/hapijs/code

Install

npm install code
yarn add code

code

BDD assertion library.

Current Version
Build Status

Lead Maintainer - Colin Ihrig

Example

 const Code = require('code');
const expect = Code.expect;

expect(true).to.be.a.boolean().and.to.not.equal(false);
expect('this string').to.only.include(['this', 'string']);

Acknowledgments

code was created as a direct rewrite of the powerful chai assertions
library. This virtual fork was created for a few reasons. First, chai mixed usage of methods and
properties creates a problematic environment in which it is too easy to forget a method () and result
in an assertion that is never executed (and therefor passes incorrectly). This observation was noted by
the must author.

The second reason is that similar to lab, our test runner, we wanted
an assertion library that is small, simple, and intuitive - without plugins, extensions, or the overhead
of having to support testing in the browser. code provides much of the same functionality in about
300 lines of code that are trivial to read in a few minutes.

And last, we wanted to experiment with some new features that allow deeper integration between the test
runner and assertions library. The first of which are two methods exported (and used by lab) for getting
the total assertions count (which is a measure of the tests comprehensiveness), and by verifying that every
assertion created (e.g. every expect() call) is also executed. This will alert when a statement like
expect(5).to.be.a.string is not allowed to remain unnoticed (and fail to throw due to the missing ()).

Like lab, the goal is to keep this module small and simple. If you need extensibility or other
functionality, we recommend looking at the many other excellent assertions libraries available.

API

See the API Reference.

Dependencies

RELATED POST

10 Must-Know Windows Shortcuts That Will Save You Time

10 Must-Know Windows Shortcuts That Will Save You Time

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Arrays vs Linked Lists: Which is Better for Memory Management in Data Structures?

Navigating AWS Networking: Essential Hacks for Smooth Operation

Navigating AWS Networking: Essential Hacks for Smooth Operation

Achieving Stunning Visuals with Unity's Global Illumination

Achieving Stunning Visuals with Unity's Global Illumination

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code

Nim's Hidden Gems: Lesser-known Features for Writing Efficient Code