as-test v0.4.1
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
- 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
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
8 months ago
10 months ago
10 months ago
10 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago
12 months ago