简体   繁体   中英

Debugging jasmine tests with resharper and phantom js

Similar question was already asked some time ago How do you debug Jasmine tests with Resharper? What is suggested there doesn't really work for me (place debugger; in test code). Each time the tests are run, a new browser window opens and thread jumps through debugger. Is there any way to make it work? And also is there any way to debug jasmine tests with phantom runner and Resharper?

Thanks in advance

To debug in the browser, add the code below to your js test file.

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

Resharper won't be notified that the test has finished so we can set debug breakpoints in the opened browser (I use chrome) and F5 the page.

Stop the tests in resharper testrunner window when you're done.

Edit:
Since Jasmine 2.0 you need to use:

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

Jason's answer was really helpful. But I'd like to add that you have to enable script debugging in IE: Internet Options -> Advanced -> uncheck 'Disable script debugging (Internedt Explorer)'.
Then you can put debugger in your js and it will raise the 'Visual Studio Just-In-Time Debugger' popup.

I got debugger; to work by setting IE 11 as my test browser in ReSharper options. The cool thing is that you can set your breakpoints in the Visual Studio version of the code and set through and debug using Visual Studio. You really do not need to interact with the browser.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM