我正在使用 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' ); }
},