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
4 months ago
4 months ago
4 months ago
4 months ago
4 months ago
9 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
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago