> And any vaccine would need some period of widespread testing
That's what the current Phase III trials are doing (30K people for Pfizer, 30K people for Moderna, ~12K people for Oxford/AstraZeneca). This should be enough to check for efficacy, while probably not enough for potential long-term effects.
Reinfections are, so far, a minuscule number compared to the total cases (2 properly documented cases), so I expect immunity to last at least a year, basing on the current data. Time will tell if I'm wrong, of course.