javascript - 您如何使用 Resharper 调试 Jasmine 测试?

标签 javascript unit-testing resharper jasmine

在 Visual Studio 2012 中使用 Resharper 运行 Jasmine 测试时,我找不到调试(遍历)JavaScript 代码的方法。我尝试使用浏览器 (Chrome) 运行测试,但测试运行器会在测试后立即关闭端口已运行,因此我无法在代码中放置断点。还尝试在 Internet Explorer 中运行并在 Visual Studio 中放置断点,但它不会附加到进程。我的测试有很多///reference 脚本,Resharper 会自动将其包含在测试运行程序中,但我不想为我想要调试的每个测试手动执行此操作。请帮助我理解这一点。如果您的 jasmine 测试失败了,那么您如何调试它?

最佳答案

因为我没有 debugger; 来工作,所以我找到了另一个解决方案。 通过将以下内容添加到我的测试中,resharper 将不会收到测试已完成的通知,因此我们可以在打开的浏览器(我使用 chrome)中设置调试断点并更新 (F5) 页面。

jasmine.getEnv().currentRunner_.finishCallback = function () {};

从 Jasmine 2.0 开始,您需要使用:

ReSharperReporter.prototype.jasmineDone = function () { };

完成后在 resharper testrunner 窗口中停止测试。

这也可以用于 QUnit

QUnit.moduleDone = function(){}

关于javascript - 您如何使用 Resharper 调试 Jasmine 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16222098/

相关文章:

c# - ReSharper 警告 : Base Class [NotNull] While Derived Class Property [CanBeNull] Conflict

c# - Resharper 6 默认创建自动属性

javascript - Asp.net 将多个参数传递给 javascript 函数

javascript - 删除括号前后的空格而不使用lookbehind

javascript - react 路由器中的链接未定义错误

c++ - 如何检查 C++ 类中的内存泄漏?

javascript - Reactjs req.body 显示 [object Object]

java - 在没有实例控制的情况下验证模拟类型的行为

unit-testing - Java EE 6 中的嵌入式容器与托管容器有什么区别?

regex - Resharper 9 中内联字符串的正则表达式语法突出显示信息存储在哪里?