前段时间已经问过类似的问题,您如何使用 Resharper 调试 Jasmine 测试?那里的建议对我不起作用(放在debugger;
测试代码中)。每次运行测试时,都会打开一个新的浏览器窗口,并且线程会通过调试器跳转。有什么办法让它工作吗?还有有什么方法可以用幻象运行器和 Resharper 调试 jasmine 测试吗?
提前致谢
前段时间已经问过类似的问题,您如何使用 Resharper 调试 Jasmine 测试?那里的建议对我不起作用(放在debugger;
测试代码中)。每次运行测试时,都会打开一个新的浏览器窗口,并且线程会通过调试器跳转。有什么办法让它工作吗?还有有什么方法可以用幻象运行器和 Resharper 调试 jasmine 测试吗?
提前致谢
要在浏览器中调试,请将以下代码添加到您的 js 测试文件中。
jasmine.getEnv().currentRunner_.finishCallback = function () {};
Resharper 不会被通知测试已经完成,因此我们可以在打开的浏览器(我使用 chrome)和 F5 页面中设置调试断点。
完成后在 resharper testrunner 窗口中停止测试。
编辑:
由于 Jasmine 2.0,您需要使用:
ReSharperReporter.prototype.jasmineDone = function () { };
杰森的回答真的很有帮助。但我想补充一点,您必须在 IE 中启用脚本调试:Internet 选项 -> 高级 -> 取消选中“禁用脚本调试(Internedt Explorer)”。
然后你可以把调试器放在你的 js 中,它会弹出“Visual Studio Just-In-Time Debugger”弹出窗口。
我有调试器;通过在 ReSharper 选项中将 IE 11 设置为我的测试浏览器来工作。很酷的是,您可以在 Visual Studio 版本的代码中设置断点,并使用 Visual Studio 进行设置和调试。你真的不需要与浏览器交互。