var Common = module.exports = function ($) {
return {
unit: {
somejQueryFn: function () {
$('.selector') /* работаем с jQuery */
}
}
}
};
describe('Test jQuery spec', function () {
var Common = require('common')($);
it('not working :( ', function () {
//Работает. Я использую jsdom, и для тестов создается DOM c jQuery, он работает.
expect(typeof $).toBe('function');
//А вот тут валится, говорит $ не определен, валиться именно в common, по стеку видно.
expect(Common.unit.somejQueryFn()).toBe(result);
})
});
Глобальные переменные a.k.a неявные зависимости sucks, dependency injection rulezzz! Синглтоны в ту же топку.