Unit testing - I find it hard to imagine anyone who writes code in any form, would not conduct unit testing. While I understand that there are certainly different views on what unit testing is, and certainly some do it better than others, and of course learning more about any subject can be a good thing, how can one code and not test their code? That said, we have also all worked with someone like that, so I know it happens. I just don't understand it.
As to ways to keep your skills up, I understand how difficult it can be. About 15 years ago I was unemployed for a while. It got to the point that I started doing volunteer work for local churches just to keep sane. I learned things as a result. No money coming in makes this "not an option" for most people, but the point is to try to find something. For those who have been unemployed for a while in the US, that is going to change. Don't wait for the economy to turn around before you start working on your skills. If there is any way to do so today, try your best to find a way. I expect a LOT more jobs over the next few years, and this time, they will actually pay people money!
Lastly, you didn't mention things like Oracle's and VMware's local desktop offerings that allow you to virtualize anything. You have to have some hardware, but if you do, you can download many tools for free, and then install things, from Linux to Windows, SSExpress, et cetera. You can learn Power Shell and other tools. Don't ignore cheap technologies like Raspberry Pi either. I was amazed at what I learned from a $35 computer. It was especially fun trying to figure out how to edit files in their version of Debian to get my keyboard working, since it defaulted to a British layout!