as-test
v0.4.4
Published
Testing framework for AssemblyScript. Compatible with WASI or Bindings
Downloads
644
Maintainers
Readme
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
npm intall json-asInitialize your test setup with:
as-test initThis 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 [email protected]
- Email: Send me inquiries, questions, or requests at [email protected]
- 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
