Squire.js does not replace fake dependency when using storage

I am trying to execute Squire.js as a dependency loader for RequireJS. Using a completely normal web browser to run unit tests. I want to use storeto get a handle to my layouts. But I can not stop loading Squire on the module itself.

mock works great:

define(['lib/squire'], function (squire) {
    var injector = new squire();

    injector
    .mock('modules/dependency', {
        run: function () {
            console.log("fake dependency run");
        }
    })
    .require(['modules/module-under-test'], function (module) {
        module.run();
    });
});

Console exit

module under test loaded       module-under-test.js:2
module under test run          module-under-test.js:5
fake module run                module-test.js:8

But when I use storeas follows:

define(['lib/squire'], function (squire) {
    var injector = new squire();

    injector
    .store('modules/dependency')
    .require(['modules/module-under-test', 'mocks'], function (module, mocks) {
        mocks.store["modules/dependency"] = {
            run: function () {
                console.log("fake dependency run");
            }
        };
        module.run();
    });
});

The real one is used and launched:

real dependency loaded      dependency.js:2
module under test loaded    module-under-test.js:2
module under test run       module-under-test.js:5
real dependency run         dependency.js:5

Squire says on the first page of the document that this is normal to do. Using the latest version of Squire.js from Github, as well as the latest version of RequireJS from requirejs.org. What am I doing wrong?

+4
1

, run , , mocks.store [ "modules/dependency" ].

, , , . , . -- . , "", . , :

mocks.store["modules/dependency"].run = function () {
    console.log("fake dependency run");
};

, , . , . (, , , mock.)

, , -- mock, , . , Squire. , . mock, Squire . :

define(['lib/squire', 'modules/dependency'], function (squire, dep) {
    var injector = new squire();

    dep.run = function () {
        console.log("fake dependency run");
    };

    injector
    .mock('modules/dependency', dep)
    .require(['modules/module-under-test'], function (module) {
        module.run();
    });
});
+3

All Articles