方法未定义-茉莉花

时间:2018-07-05 07:27:25

标签: javascript jasmine karma-jasmine

我正在尝试对文件中的方法进行简单测试-将Jasmine与Karma结合使用:

测试规范

define([
    "water/EventUtils",
    "_Common"
], function(
    EventUtils,
    _Common
) {
    describe("_Common", () => {
        describe('getDatasourceConfigFromId', () => {
            it("makes sure EventUtils method called correctly", () => {
                const queryMethod = spyOn(EventUtils.DataSourceConfigStore, 'query');
                _Common.getDatasourceConfigFromId('123');
                expect(queryMethod).toHaveBeenCalledWith('123');
            });
        });
    });
});

这是我正在_Common.js中测试的内容:

getDatasourceConfigFromId: function(ds_id) {
    return EventUtils.DataSourceConfigStore.query({
        id: ds_id
    })[0];
}

这是我嘲笑的EventUtils.js

define([], function() {
    return {
        DataSourceConfigStore: {
            query: (data) => [data]
        }
    };
});

每次运行测试我都会得到:

  

TypeError:在http://path/to/_Common.js(第9行)中未定义EventUtils.DataSourceConfigStore.query(...)

任何人都知道为什么未定义?

如果我

console.log(EventUtils.DataSourceConfigStore.query) 

返回

(data) => [data]

0 个答案:

没有答案