2013-11-15 151 views
4

我真的很新的JavaScript,我正在写一个简单的规范JavaScript的几个茉莉花测试。如何在不使用requireJS的情况下将依赖关系引入jquery和下划线。茉莉花依赖注入

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)和_(UNDERSCORE)依赖项。

回答

4

您应该在karma config file中添加文件路径。

您可以添加依赖这样

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

检查this example config file

+0

谢谢。这解决了我为jasmine测试注入jQuery的问题。 – bizi

1

你可以只添加一个参考文件的顶部,就像这样:

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

或者,如果你有多个,你可以将它们全部添加到测试参考文件中。基本上在测试目录中创建一个名为_references.js的新JS文件,并在该文件中包含需要包含的常用JS文件。然后,您可以在所有测试中包含_references.js。

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

当然,假设OP使用Visual Studio。 –