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-testInitialize 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 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
10 months ago
10 months ago
10 months ago
10 months ago
10 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
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago