I'm writing a jestjs test for a ES6 class that uses performance.now()
. But it doesn't seem to work.
Is there a way to user perf-hooks
globally from the jest.config.js
? Or a way to mock performance
and override it with eg Date
?
I've tried overriding performance on classToTest.js
with Date
but since it uses performance
already on import that doesn't work.
Simplified examples:
classToTest.test.js
import ClassToTest from "./classToTest";
test("constructor works", () => {
expect(new ClassToTest()).not.toBeNull();
});
classToTest.js
const timer = performance.now();
class ClassToTest {
...
The output from jest is ReferenceError: performance is not defined
.
performance
in your classToTest.js?const { performance } = require('perf_hooks')
– CienfuegosClassToTest
code works and is a black box for us, how can it useperformance
without importing it in the first place? – Cienfuegos