茉莉花依赖注射

Jasmine dependency injection

本文关键字:依赖 茉莉花      更新时间:2023-09-26

我对javascript真的很陌生,我正在用一个简单的规范javascript编写一些jasmine测试。如何在不使用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) 依赖项。

您应该在 karma 配置文件中添加文件路径。

您可以像这样添加依赖项

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

检查此示例配置文件,

您可以添加对文件顶部的引用,如下所示:

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

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

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