@ts-utilkit/testing-utilities
v0.2.0
Published
Testing utilities and helpers for writing comprehensive unit tests with TypeScript and Jest
Maintainers
Readme
@ts-utilkit/testing-utilities
Comprehensive testing utilities and helpers for writing robust unit tests with TypeScript and Jest.
Installation
npm install --save-dev @ts-utilkit/testing-utilitiesFeatures
- 🧪 Test data generators (random strings, numbers, emails, URLs, UUIDs)
- ✅ Assertion helpers for complex comparisons
- 🎯 Boundary value testing utilities
- 📊 Performance measurement tools
- 🔍 Type validation helpers
- 🎲 Random data generation for comprehensive test coverage
- 📦 Deep cloning for test data isolation
Available Functions (21)
assertArraysEqual- Deep equality assertion for arrayscloneTestData- Deep clone objects for test isolationcreateSpy- Create function spies for tracking callsgenerateRandomBoolean- Generate random boolean valuesgenerateRandomDate- Generate random dates within a rangegenerateRandomEmail- Generate random valid email addressesgenerateRandomIPv4- Generate random IPv4 addressesgenerateRandomNumber- Generate random numbers within specified rangesgenerateRandomObject- Generate random objects with specified structuregenerateRandomString- Generate random strings with custom length and character setsgenerateRandomURL- Generate random valid URLsgenerateRandomUUID- Generate random UUIDs (v4)generateRange- Generate numeric ranges for iterationgenerateTestArray- Generate arrays filled with test datagetBoundaryValues- Get boundary values for numeric range testinggetCommonInvalidInputs- Get common invalid input valuesmeasureMemoryUsage- Measure memory consumptionrunPerformanceTest- Measure function execution timetestInvalidTypes- Test function behavior with invalid typestestMultipleCases- Run multiple test cases efficientlywaitForCondition- Wait for async conditions in tests
Quick Example
import {
createFixture,
delay,
expectAsync,
createSpy,
} from '@ts-utilkit/testing-utilities';
// Create test fixtures
const user = createFixture({ name: 'John', age: 30 });
// Delay in tests
await delay(100);
// Async expectations
await expectAsync(promise).toResolve();
// Spy on function calls
const spy = createSpy(fn);License
MIT © Mykyta Forofontov
Contributing
Contributions welcome! See the main repository for guidelines.
