A set of useful utility functions.
Alias: rs.stubEnv
Type: (name: string, value: string | undefined) => Rstest
Temporarily sets an environment variable in process.env and import.meta.env to the specified value. Useful for testing code that depends on environment variables.
value is undefined, the variable will be removed from process.env and import.meta.env.rstest.unstubAllEnvs() to restore all environment variables changed by this method.Example:
rstest.stubEnv('NODE_ENV', 'test');
expect(process.env.NODE_ENV).toBe('test');
expect(import.meta.env.NODE_ENV).toBe('test');
rstest.stubEnv('MY_VAR', undefined);
expect(process.env.MY_VAR).toBeUndefined();
expect(import.meta.env.MY_VAR).toBeUndefined();Alias: rs.unstubAllEnvs
Type: () => Rstest
Restores all environment variables that were changed using rstest.stubEnv to their original values.
unstubEnvs config is enabled.Example:
rstest.stubEnv('NODE_ENV', 'test');
// ... run some code
rstest.unstubAllEnvs();
expect(process.env.NODE_ENV).not.toBe('test');Alias: rs.stubGlobal
Type: (name: string | number | symbol, value: unknown) => Rstest
Temporarily sets a global variable to the specified value. Useful for mocking global objects or functions.
rstest.unstubAllGlobals() to restore all globals changed by this method.Example:
rstest.stubGlobal('myGlobal', 123);
expect(globalThis.myGlobal).toBe(123);
rstest.stubGlobal(Symbol.for('foo'), 'bar');
expect(globalThis[Symbol.for('foo')]).toBe('bar');Alias: rs.unstubAllGlobals
Type: () => Rstest
Restores all global variables that were changed using rstest.stubGlobal to their original values.
unstubGlobals config is enabled.Example:
rstest.stubGlobal('myGlobal', 123);
// ... run some code
rstest.unstubAllGlobals();
expect(globalThis.myGlobal).toBeUndefined();Alias: rs.setConfig
Type:
type RuntimeConfig = {
testTimeout?: number;
hookTimeout?: number;
clearMocks?: boolean;
resetMocks?: boolean;
restoreMocks?: boolean;
maxConcurrency?: number;
retry?: number;
};
type SetConfig = (config: RuntimeConfig) => void;Dynamically updates the runtime configuration for the current test file. Useful for temporarily overriding test settings such as timeouts, concurrency, or mock behavior.
Example:
rstest.setConfig({ testTimeout: 1000, retry: 2 });
// ... run some code with the new config
rstest.resetConfig(); // Restore to default configAlias: rs.resetConfig
Type: () => void
Resets the runtime configuration that was changed using rstest.setConfig back to the default values.
Alias: rs.getConfig
Type: () => RuntimeConfig
Retrieves the current runtime configuration for the test file. Useful for inspecting or logging the current settings.
Example:
const config = rstest.getConfig();
console.log(config);