Description
In the testdouble repo, I created examples/node-esm/test/lib/numbers-only-test.mjs with the following code.
import assert from 'assert'
import mocha from 'mocha'
import * as td from 'testdouble'
mocha.describe('numbers-only', function () {
mocha.it.only('goes boom', async function () {
const isNumber = td.replace('is-number');
const numbersOnly = await import('../../lib/numbers-only.mjs')
td.when(isNumber('a string')).thenReturn(true) // tee-hee, this is silly
const result = numbersOnly.default('a string')
assert.equal(result, true)
});
});
Based on what I read from the docs, I would expect this code to pass, but whenever ../../lib/numbers-only.mjs is loaded, the real is-number is resolved instead of the faked module.
Issue
the real module is being loaded instead of the fake.
Environment
Failing Test
See above
Example Repo
See above
Runkit Notebook
Code-fenced Examples
var td = require('testdouble')
// Your steps here.
Description
In the testdouble repo, I created
examples/node-esm/test/lib/numbers-only-test.mjswith the following code.Based on what I read from the docs, I would expect this code to pass, but whenever
../../lib/numbers-only.mjsis loaded, the real is-number is resolved instead of the faked module.Issue
the real module is being loaded instead of the fake.
Environment
node -v20.1.0 or 22.3.0:npm -v(oryarn --version) output: 10.5.2 or 10.8.1npm ls testdouble(oryarn list testdouble) version: from the exampleFailing Test
See above
Example Repo
See above
Runkit Notebook
var td = require('testdouble')at the topCode-fenced Examples