ProjectName-Core
ProjectName-Extras
ProjectName-Tests
That approach has a limited scope. Because we match by prefix you have to do -Core and not just ProjectName. In a decent amount of projects -Core and -Extras will grow and you will have tests for -Core and -Extras and you don't want to combine them into a single -Tests package.
But what do you do?
ProjectName-Core-Core
ProjectName-Core-Tests
?? Surely not. From this perspective one can look the way seaside does it. It is
ProjectName-Core
ProjectName-Extras
ProjectName-Tests-Core
ProjectName-Tests-Extras
So there are multiple possibilities how to achieve it. I always start my projects by keeping tests inside the same package as the rest of the code. Well, I have the habit to mostly create a -Core package at the beginning. Later of the module grows I put -Tests in an extra package. And in one big project I did the seaside approach by putting the -Tests after the ProjectName. This way you don't have too much problems until you introduce platform dependent packages.
Norbert