@embedunit/globals
v0.5.0
Published
Global installation utilities for embedunit
Maintainers
Readme
@embedunit/globals
Optional global installation for embedunit. Installs testing functions (describe, it, expect, etc.) onto globalThis for a familiar Jest/Mocha-style experience.
Installation
npm install @embedunit/globalsUsage
Basic Installation
import { installGlobals, uninstallGlobals, runTests } from '@embedunit/globals';
installGlobals();
// Now use globals directly
describe('Math', () => {
it('adds numbers', () => {
expect(1 + 1).toBe(2);
});
});
await runTests();
// Clean up when done
uninstallGlobals();Installed Globals
By default, installs: describe, it, expect, beforeAll, beforeEach, afterEach, afterAll, xit, xdescribe, fit, fdescribe, spyOn, mock
Options
Collision Policies
Control behavior when a global already exists:
// Throw error if global exists (default)
installGlobals({ collisionPolicy: 'error' });
// Log warning but overwrite
installGlobals({ collisionPolicy: 'warn' });
// Skip globals that already exist
installGlobals({ collisionPolicy: 'skip' });
// Silently overwrite
installGlobals({ collisionPolicy: 'force' });Namespace
Avoid polluting global scope by using a namespace:
installGlobals({ namespace: 'embedunit' });
// Access via namespace
embedunit.describe('Test', () => {
embedunit.it('works', () => {
embedunit.expect(true).toBe(true);
});
});
// Clean up
uninstallGlobals('embedunit');Selective Installation
Install only specific globals:
installGlobals({ include: ['describe', 'it', 'expect'] });
// Only describe, it, and expect are installedDirect Imports
All functions are also available as direct imports:
import { describe, it, expect, runTests } from '@embedunit/globals';When to Use
Use globals when:
- Migrating from Jest/Mocha and want familiar syntax
- Writing quick tests where imports feel heavy
- Global scope is acceptable for your use case
Avoid globals when:
- Multiple test frameworks may conflict
- You prefer explicit imports for clarity
- Running in shared/production environments
TypeScript
For TypeScript support with globals, add to your test file:
declare const describe: typeof import('@embedunit/globals').describe;
declare const it: typeof import('@embedunit/globals').it;
declare const expect: typeof import('@embedunit/globals').expect;