业力茉莉+ RequireJS | Jasmine实现回调未运行

时间:2019-09-30 18:29:28

标签: requirejs karma-jasmine

我正在尝试进行一组茉莉花单元测试,以与Karma和RequireJS一起运行。这些单元测试以前在带有Webpack的Karma上运行良好。但是,我将要应用此知识的项目将使用requireJS,并且无法更新为使用webpack。

基本上,我所看到的是当我执行“因果启动”,进入打开的Chrome浏览器上的开发工具,并在我的规范文件中设置断点,然后运行测试时,我的断点得到很好的响应。我可以逐步解决文件问题。

实现中的断点会回调,但是永远不会受到打击。

例如在以下测试中:

describe(">String Utils", function() {
  it("should be able to lower case a string",function() {
    expect(utils.toLowerCase).toBeDefined();
    expect(utils.toLowerCase("HELLO WORLD")).toEqual("hello world");
});

第1行和第2行的断点会被罚款。第3行和第4行的函数内的断点(“期望”)永远不会命中。

我认为这可能是一个转码问题,但是我使用的是Babel,并且没有任何改善。

下面是相关文件。如果您需要查看其他内容,请告诉我,我可以将其发布,或者可以在我的github存储库中看到它:https://github.com/webgirlwonder/karma-jasmine-test

test-main.js

var tests = [];
for (var file in window.__karma__.files) {
  if (window.__karma__.files.hasOwnProperty(file)) {
    if (/Spec\.js$/.test(file)) {
      tests.push(file);
    }
  }
}

require.config({
    baseUrl: '/base/src/',
    deps: tests,

    paths: {
      index: 'index'
    }
});

karma.conf.js

module.exports = function (config) {
  config.set({
    basePath: '.',
    autoWatch: false,
    singleRun: false,
    browsers: ['Chrome'],
    customLaunchers: {
      IE_no_addons: {
        base: 'IE',
        flags: ['-extoff']
      }
    },
    frameworks: [ 'jasmine', 'requirejs' ],
    files: [
      'src/test-main.js',
      {pattern: 'src/**/*.js', included: false},
    ],
     preprocessors: {
       'src/**/*.js': [ 'babel' ]
     }
  });
};

.babelrc

{
    "presets": ["@babel/preset-env" ]
}

0 个答案:

没有答案