Пытаюсь наладить unit-тестирование. Имеется некоторый код:
var Common = module.exports = {
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 );
})
})
Собственно вопрос - каким можно сделать так, что бы
$ внутри Common, указывала
$ который я создал в юнит тесте? Пробовал через
.call(), но естественно не сработало. Была идея сделать костыль типа
new Function( fn.toString() ), но это нужно отрезать
function(){}, что не радует