A test case without assertions ensures only that no exceptions are thrown. Beyond basic runnability, it ensures nothing about the behavior of the code under test.

This rule raises an exception when the assertion library chai is imported but no assertion is used in a test.

Noncompliant Code Example

const expect = require('chai').expect;

describe("No assertion", function() {
    it("doesn't test anything", function() { // Noncompliant
        const str = "";
    });
});

Compliant Solution

const expect = require('chai').expect;

describe("Has assertions", function() {
    it("tests a string", function() {
        const str = "";
        expect(str).to.be.a('string');
    });
});