Karma Jasmine测试始终在第9行的堆栈跟踪失败

时间:2014-05-29 16:22:58

标签: javascript angularjs jasmine karma-runner karma-jasmine

我有一个奇怪的问题。每当我尝试测试某些内容并且测试失败时,它总会显示第9行的堆栈跟踪。

我使用AngularJS以及Jasmine和Karma。我发现它并不依赖于浏览器。错误如下所示:

TypeError: 'undefined' is not an object (evaluating 'new google.maps.LatLng')
    at /Users/user1/project1/test_ctrl.js:9
    at /Users/user1/project1/spec/test_ctrl_spec.js:170

因此,它告诉我测试在第170行失败(这是正确的),但错误的原因在我的test_ctrl.js内部,行号与9号完全不同。这个行号是在每次失败的测试中显示。

任何人都知道如何解决这个问题?

2 个答案:

答案 0 :(得分:14)

这似乎是使用karma-coverage的问题,因为istanbul代码覆盖工具缩小了源代码。业力报道回购中有一个open issue。如果您暂停在karma配置文件中禁用覆盖率报告器,它应该可以正常工作。

答案 1 :(得分:3)

似乎问题是"karma": "~0.12.16""karma-jasmine": "~0.1.5"。现在我得到了一个合适的堆栈跟踪。