If we have three modules names A
, B
and C
so module A
requires B
and B
requires C
: what would be the effect of this call?
var A = proxyquire('A', {'C': mockedModule})
Would module B
get the mock or the real C
module?
Only direct dependencies will be mocked.
But you can nest proxyquire statements, so in your example you could:
const A = proxyquire('../A', {
'./B': proxyquire('../B', {
'C': mockC
})
});
Where the file structure is like
root
|-- A.js
|-- B.js
`-- tests
`-- A.spec.js
And import C
is not local.