█████ ███████ ████████ ███████ ███████ ████████
██ ██ ██ ██ ██ ██ ██
███████ ███████ █████ ██ █████ ███████ ██
██ ██ ██ ██ ██ ██ ██
██ ██ ███████ ██ ███████ ███████ ██
AssemblyScript - v0.4.3
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.
npm install as-test
npm intall json-asInitialize your test setup with:
as-test initThis creates a test directory at assembly/__tests__/ with a sample test file.
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();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.
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();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();To integrate as-test into your CI/CD workflow, see the example configuration.
assembly/__tests__/example.spec.ts
This project is distributed under an open source license. You can view the full license using the following link: License
Please send all issues to GitHub Issues and to converse, please send me an email at me@jairus.dev
- Email: Send me inquiries, questions, or requests at me@jairus.dev
- GitHub: Visit the official GitHub repository Here
- Website: Visit my official website at jairus.dev
- Discord: Contact me at My Discord or on the AssemblyScript Discord Server