在VS2012 + Resharper + PhantomJS中运行Jasmine测试失败

时间:2014-09-02 10:24:53

标签: unit-testing visual-studio-2012 resharper jasmine phantomjs

我试图在vs2012中的resharper 7中运行茉莉花单元测试但是它失败了。

enter image description here

resharper + phantomjs在自动生成的URL中运行它可能是失败的原因 enter image description here

有没有办法配置测试以使用绝对或已知的URL?

更新

我在我的* spec.js文件中添加了js引用

/// <reference path="../jasmine/jasmine-html.js" />
/// <reference path="../jasmine/jasmine.js" />
/// <reference path="../jasmine/boot.js" />
/// <reference path="../jasmine/console.js" />
/// <reference path="Player.js" />
/// <reference path="Song.js" />
/// <reference path="SpecHelper.js" />

它修复了引用错误,但是当我在resharper中运行时它仍然无法通过。现在我在尝试调试时遇到此错误

enter image description here

我也尝试在chutzpah运行测试,它能够执行并通过测试 所以我不确定resharper有什么问题

enter image description here

1 个答案:

答案 0 :(得分:1)

不,您无法更改网址。 但是导致测试失败的原因很可能是缺少文件引用。你可以做的是调试测试并检查加载的文件引用,看看缺少什么:

  1. 在标准浏览器(Chrome)中运行测试而不是PhantomJS, 你可以在以下地址进行设置:
  2. Resharper -> Options -> Tools -> Unit Testing -> JavaScript Tests -> Run Tests with...

    1. 在测试之前添加以下代码:
    2. jasmine.getEnv().currentRunner().finishCallback = function () { };

      这将覆盖调用finishCallback函数以通知Resharper测试完成,因此测试将永远运行,您可以通过点击F5并无限期地调试来刷新它。您只需手动停止测试,然后在Resharper的“单元测试会话”窗口中停止测试。