2013-11-15 8 views
4

Я действительно новичок в javascript, и я пишу несколько тестов на жасмин в простой спецификации javascript. Как я могу представить зависимости для jquery и подчеркивания в этой спецификации без использования requireJS.?Jasmine dependency injection

describe("Testing Karma and Jasmine", function() { 

    describe("Hello world test", function() { 
     it("says hello", function() { 
      expect(testingJasmine()).toEqual("Hello world!"); 
     }); 
    }); 

}); 

describe('just checking', function() { 

    it('works for app', function() { 
     var el = $('<div></div>'); 

     var app = restify.createServer() 
     app.render(); 

     expect(el.text()).toEqual('require.js up and running'); 
    }); 

    it('works for underscore', function() { 
     // just checking that _ works 
     expect(_.size([1,2,3])).toEqual(3); 
    }); 

}); 

Если вы посмотрите на код прилагается не в состоянии разрешить $ (Jquery) и подчеркивание (_) зависимостей.

ответ

4

Вы должны добавить путь к файлам в karma config file.

Вы можете добавить зависимости, как этот

files = [ 
    JASMINE, 
    JASMINE_ADAPTER, 
    'scripts/libs/jquery.js, 
    'scripts/libs/underscore.js 
]; 

Проверить this example config file,

+0

спасибо. Это решает мою проблему инъекции jQuery для тестирования жасмина. – bizi

1

Вы можете просто добавить ссылку в верхней части файла, например:

/// <reference path="../js/libs/jquery-2.0.3.min.js" /> 

Или если у вас есть несколько, вы можете добавить их все в тестовый файл ссылок. В основном создайте новый JS-файл с именем _references.js в тестовом каталоге и в этом файле включите и включите обычные файлы JS. Затем вы можете включить _references.js во все ваши тесты.

/// <reference path="_references.js" /> 
+2

Предполагая, что OP использует Visual Studio, конечно. –