25 lines
607 B
JavaScript
25 lines
607 B
JavaScript
|
let testTimeoutInMs;
|
||
|
|
||
|
export const setTestTimeout = newTimeoutInMs => {
|
||
|
testTimeoutInMs = newTimeoutInMs;
|
||
|
jest.setTimeout(newTimeoutInMs);
|
||
|
};
|
||
|
|
||
|
export const initializeTestTimeout = defaultTimeoutInMs => {
|
||
|
setTestTimeout(defaultTimeoutInMs);
|
||
|
|
||
|
let testStartTime;
|
||
|
|
||
|
// https://github.com/facebook/jest/issues/6947
|
||
|
beforeEach(() => {
|
||
|
testStartTime = Date.now();
|
||
|
});
|
||
|
|
||
|
afterEach(() => {
|
||
|
const elapsedTimeInMs = Date.now() - testStartTime;
|
||
|
if (elapsedTimeInMs > testTimeoutInMs) {
|
||
|
throw new Error(`Test took too long (${elapsedTimeInMs}ms > ${testTimeoutInMs}ms)!`);
|
||
|
}
|
||
|
});
|
||
|
};
|