0.4.1 • Published 5 months ago

as-test v0.4.1

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

A lightweight testing framework for AssemblyScript.

šŸ”¹ Minimal and fast – Run your tests without unnecessary overhead.

šŸ”¹ Familiar API – Inspired by modern JavaScript testing frameworks.

šŸ”¹ Powerful mocking – Easily override functions and track calls.

šŸ”¹ Seamless CI/CD integration – Works effortlessly in automation pipelines.

šŸ”¹ Universal environment – Run your tests on any platform, runtime, or bindings.

šŸ’¾ Installation

npm install as-test

Initialize your test setup with:

as-test init

This creates a test directory at assembly/__tests__/ with a sample test file.

šŸ“ Writing Tests

Create a new test file in assembly/__tests__/, for example, math.spec.ts:

import { describe, test, expect, run } from "as-test";

describe("Math operations", () => {
  test("Addition", () => {
    expect(1 + 2).toBe(3);
  });

  test("Subtraction", () => {
    expect(5 - 2).toBe(3);
  });

  test("Multiplication", () => {
    expect(3 * 3).toBe(9);
  });
});

run();

šŸ” Examples

šŸ—ļø Mocking Functions

Use mockFn to override functions during testing:

import { mockFn } from "as-test";

// Mock console.log
mockFn<void>("console.log", (data: string): void => {
    console.log("[MOCKED]: " + data);
});

run();

Or override imported functions with mockImport.

āš’ļø Setup and Teardown

Use beforeAll and afterAll to run code before and after a test is run.

import { beforeAll, afterAll } from "as-test";

beforeAll(() => {
  log("Setting up test environment...");
});

afterAll(() => {
  log("Tearing down test environment...");
});

run();

šŸ“ƒ Pretty Logging

Using console.log will mess up the terminal output. Instead, use the inbuilt log function:

import { log } from "as-test";

log("This is a pretty log function");

run();

Or override all existing console.log calls with log:

import { mockFn, log } from "as-test";

mockFn<void>("console.log", (data: string): void => {
    log(data);
});

run();

šŸ”„ Running Tests in CI

To integrate as-test into your CI/CD workflow, see the example configuration.

assembly/__tests__/example.spec.ts

šŸ“ƒ License

This project is distributed under an open source license. You can view the full license using the following link: License

šŸ“« Contact

Please send all issues to GitHub Issues and to converse, please send me an email at me@jairus.dev

0.4.1

5 months ago

0.4.0

5 months ago

0.4.0-beta.1

5 months ago

0.4.0-beta.2

5 months ago

0.4.0-beta.3

5 months ago

0.3.5

10 months ago

0.3.4

12 months ago

0.3.2

12 months ago

0.3.3

12 months ago

0.3.1

1 year ago

0.3.0

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.10

1 year ago

0.1.9

1 year ago

0.1.8

1 year ago

0.1.7

1 year ago

0.1.6

1 year ago

0.1.5

1 year ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

0.0.1

1 year ago

0.0.0

1 year ago