Ich habe eine virtuelle Javascript-Datei in einem Jest Unit-Test mit dem Pfad '/widgets/1.0.js'. Ich habe das fs-Modul verspottet, um seine Existenz zu simulieren.Wie kann ich ein dynamisch geladenes, virtuelles Modul im Scherz verhöhnen?
Jetzt möchte ich es dynamisch laden, um eine Methode 'foo()' aufzurufen. Ich dachte, es wäre ein Fall der Verwendung eines virtuellen Mock sein:
index.test.js
jest.mock('/widgets/1.0.js',() => {foo: jest.fn(() => {console.log('foo!')})}, {virtual: true});
Der Code, der Mock ruft:
index.js
let module = require('/widgets/1.0.js');
module.foo();
Wenn ich den Test ausführen:
Cannot find module '/widgets/1.0.js' from 'index.js'
at Resolver.resolveModule (node_modules/jest-resolve/build/index.js:151:17)
at processWidgets (src/index.js:115:2418)
at Object.<anonymous> (src/__tests__/index.test.js:99:73)
Ich denke, es sollte möglich sein. Irgendwelche Ideen?
danke!