Hacker News new | past | comments | ask | show | jobs | submit login

Even better is the interaction between the test runner and the debugger. Unit tests are orders of magnitude more useful when you can just open a debugger on a failing assertion.



And just as good: when you refactor your code, the same refactoring is often automatically applied to your tests.

And the web frameworks: in many of them, you can just debug the rendering of the web page.


Not to mention the integration between the debugger and Seaside... I always get a few jaw drops when I fix code and the page comes up once I press "Proceed".


The thing is, that's not really "integration." That's just the Debugger doing what it usually does. There's no abstruse code supporting that. (Usually Smalltalk environment "integration" does require a few lines of pedestrian code.)


Well, Seaside does have explicit code to support the debug link. If you get an exception during rendering, the framework generates a 500 response with a "Debug" link. Clicking the link restarts the previous request, and when it hits the exception, it opens a debugger instead of generating the 500 response. If you fix the error and continue, the page is sent to the browser as usual.

It's not a lot of code, but it's pretty clever.


py.test --pdb has this exact feature and I love it. Now I almost exclusively debug with unit tests.


I was going to say, is that not a standard feature of test runners today? py.test is amazing though :)




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: