Skip to content

Proxyquire isn't preserving cache #133

@KarlPurk

Description

@KarlPurk

Has preserveCache regressed again? I'm seeing some strange behaviour with 1.7.10:

foo.js

var count = 0;

module.exports = function() {
    return ++count;
};

test.js

var assert = require('assert');
var proxyquire = require('proxyquire').preserveCache();

var foo1 = proxyquire('./foo', {});
var foo2 = proxyquire('./foo', {});
var foo3 = proxyquire('./foo', {});

assert.equal(foo1(), 1);
assert.equal(foo2(), 2); // Fails here, because proxyquire isn't caching the module
assert.equal(foo3(), 3);

The above test fails on the second assertion because the cache isn't being preserved. However if I just use require directly it works:

request-test.js

var assert = require('assert');
var proxyquire = require('proxyquire').preserveCache();

var foo1 = require('./foo');
var foo2 = require('./foo');
var foo3 = require('./foo');

assert.equal(foo1(), 1);
assert.equal(foo2(), 2);
assert.equal(foo3(), 3);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions