1

我正在使用 karma / jasmine 成功地对我的 coffeescript / angularjs 代码进行单元测试。

我的一项测试失败了,所以我想在我的咖啡脚本代码中放置断点。

我知道我需要提供源映射以允许 WebStorm 7 将转译的 javascript 与原始咖啡脚本相关联(请参阅下面的业力配置)。

这些问题对我很有帮助,但还没有完全解决问题:

现在,当我调试时,任何包含断点的咖啡脚本文件都将暂停,但不在断点上,通常在文件的第一行或包含断点的函数上。

在此处输入图像描述

继续执行只是运行到最后,内部断点没有被命中。

尝试单步执行咖啡脚本将我带入 jasmine.js 代码。当我继续逐步执行 jasmine 代码时,测试套件最终完成,但断点从未命中。

这是我的业力配置的相关部分。

业力.config.js

files: [
        'App.UnitTests/lib/http_ajax.googleapis.com_ajax_libs_angularjs_1.2.0-rc.2_angular.js',
        'App.UnitTests/lib/http_ajax.googleapis.com_ajax_libs_angularjs_1.2.0-rc.2_angular-sanitize.js',
        'App.UnitTests/lib/http_angular-ui.github.io_ui-router_release_angular-ui-router.js',
        'App.UnitTests/lib/http_ajax.googleapis.com_ajax_libs_angularjs_1.2.0-rc.2__angular-mocks.js',
        'App.FrontEnd/coffee/**/*.coffee',
        'App.UnitTests/tests/**/*.spec.coffee'
    ],

    preprocessors : {
        'App.FrontEnd/coffee/**/*.coffee':'coffee',
        'App.UnitTests/tests/**/*.spec.coffee':'coffee'
    },

    coffeePreprocessor: {
        options: { bare: true, sourceMap: true },
        transformPath: function ( path ) { return path.replace( /.js$/, '.coffee' ); }
    },
4

0 回答 0