Let's set up a project with Jest and assertive-ts to write our first assertion.
First, let's install the dependencies:
npm install --save-dev typescript ts-jest jest @types/jest @assertive-ts/core
This library is meant to be used with TypeScript, so to have better results we encourage you to use TypeScript in your project.
Let's create a tsconfig.json
file:
npx tsc -init
Let's also create a jest configuration file at the root directory by running the following command:
npx ts-jest config:init
For more information about Jest and its configuration please refer to the official documentation.
We are going to test a simple function:
src/mathUtils.ts
export const sum = (a: number, b: number): number => {
return a + b;
}
Now let's write a test for that function. Make sure to import expect
from the @assertive-ts/core
module:
tests/mathUtils.test.ts
import { expect } from "@assertive-ts/core";
import { sum } from "../src/mathUtils";
describe("sum", () => {
it("adds two numbers", () => {
expect(sum(1, 2)).toBeEqual(3);
})
});
And that's it! Now you can run your tests as usual with your test script.
You might want to use the expect
function from Jest along with assertive-ts assertions. There are a couple ways to achieve this:
- Instead of importing
expect
from theassertive-ts
module, you can import one of the available aliases:assert
orassertThat
:
import { expect } from "@jest/globals";
import { assert } from "@assertive-ts/core";
- Or use an explicit import to rename the
expect
function from Jest to something likejestExpect
:
import { expect as jestExpect } from "@jest/globals";
import { expect } from "@assertive-ts/core";