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?