我使用karma / jasmine成功测试了我的coffeescript / angularjs代码。
我的一个测试失败了,所以我想在我的coffeescript代码中放置断点。
我知道我需要提供源映射以允许WebStorm 7将已转换的javascript与原始coffeescript相关联(参见下面的karma配置)。
这些问题对我开始有用,但还没有完全解决问题:
现在,当我调试时,任何有断点的coffeescript文件都会暂停但不会在断点上,通常在文件的第一行或包含断点的函数上。
继续执行只是运行到结束而内部断点未被命中。
尝试单步执行coffeescript会将我带入jasmine.js代码。当我继续逐步执行jasmine代码时,测试套件最终会完成,但断点永远不会被击中。
这是我的业力配置的相关部分。
karma.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' ); }
},