-
Notifications
You must be signed in to change notification settings - Fork 141
Open
Description
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
-
node -v
20.1.0 or 22.3.0: -
npm -v
(oryarn --version
) output: 10.5.2 or 10.8.1 -
npm ls testdouble
(oryarn list testdouble
) version: from the example
Failing Test
See above
Example Repo
See above
Runkit Notebook
- Create a Runkit notebook
- Invoke
var td = require('testdouble')
at the top - Verify the behavior your issue is concerned with by clicking "Run"
- Link to the Runkit here
Code-fenced Examples
var td = require('testdouble')
// Your steps here.
Metadata
Metadata
Assignees
Labels
No labels