A simple, lightweight API testing framework built with TypeScript, Supertest, and Mochawesome reporting.
- TypeScript support for better development experience
 - Supertest integration for HTTP API testing
 - Mochawesome HTML reporting
 - Simple, clean architecture
 - Built-in assertion helpers
 
npm installimport { BaseTest } from '../helpers/BaseTest';
import { AssertionHelpers } from '../utils/AssertionHelpers';
class MyAPITest extends BaseTest {
  constructor() {
    super({
      baseURL: 'https://api.example.com',
      timeout: 5000
    });
  }
}
describe('My API Tests', () => {
  let apiTest: MyAPITest;
  before(() => {
    apiTest = new MyAPITest();
  });
  it('should get data', async () => {
    const response = await apiTest.get('/endpoint');
    AssertionHelpers.expectStatus(response, 200);
  });
});get(endpoint, headers?)post(endpoint, body?, headers?)put(endpoint, body?, headers?)delete(endpoint, headers?)patch(endpoint, body?, headers?)
AssertionHelpers.expectStatus(response, expectedStatus)AssertionHelpers.expectProperty(response, property, expectedValue?)AssertionHelpers.expectArrayProperty(response, property)AssertionHelpers.expectContentType(response, contentType)AssertionHelpers.expectHeader(response, headerName, expectedValue?)AssertionHelpers.expectBodyContains(response, substring)AssertionHelpers.expectErrorMessage(response, expectedMessage)
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Build the project
npm run buildSet the API base URL using environment variables:
export API_BASE_URL=https://your-api.com
npm testTest reports are generated in the reports/ directory with both HTML and JSON formats.
src/
├── helpers/
│   └── BaseTest.ts          # Base test class with HTTP methods
├── utils/
│   └── AssertionHelpers.ts  # Assertion utilities
├── tests/
│   └── integration/         # Integration tests
└── index.ts                 # Main exports