Proxyquire is a Node.js testing utility that lets developers override dependencies loaded through require. It allows a module under test to receive stubs in place of selected internal dependencies without modifying production code. Any methods not explicitly replaced can continue calling through to the original dependency by default. Strict no-call-through behavior can be enabled when complete isolation is required. The library is independent of a specific mocking framework, so it works with any tool capable of providing compatible stubs. Advanced options can simulate missing modules, reload modules, and override dependencies during initialization or runtime. Proxyquire is especially useful for focused unit tests of CommonJS modules with tightly coupled dependencies.
Features
- CommonJS dependency overriding
- No production code modifications required
- Partial or complete dependency stubbing
- Optional no-call-through behavior
- Module reload and absence simulation
- Mocking framework independence