Who Does Roger Federer Practice With?
I believe that the best option is to play 33% of the time against players who are "worse" than you. These are the players who might not give you all the pace, spin and consistency you want, but against whom you can play your game and work on certain components without worrying about hurting their feelings. For example, when playing sets, you can practice serving and volleying, hitting no forehand winners, chipping-and-charging, hitting mostly backhands, hitting only slice backhands, finishing the point in less than 3 (or 4, 5, 6) strokes, hitting only second serves or slice serves, working on not hitting winners, etc. These opponents will push you just enough if you don't pay attention but, overall, you can use them as a way to boost your confidence and develop feel. And remember, the way you "zone" against better players (because you have nothing to lose) they will be "treeing" against you.
33% of the time, you should practice with players at or around your level. These are the players who will beat you even if you're only 2% off your game. These practices are often very competitive and, unfortunately, a lot of juniors tend to shun them because they are afraid that their confidence will be ruined if they happen to lose. Losing and winning is part of the game and you can use these matches to constantly fine-tune your game during drill workouts.
33% of the time, you should play against people who are better than you. Unlike the players who are your level, these players will give you more pace, spin, consistency and accuracy so you really have to be on your game in order to even come close to them. But, beware! Just because you play well against them doesn't mean that you are AT their level. Sometimes, weaker player step up the game because they feel that they have "nothing to lose". But this is not always the correct attitude. Often times, during a match, you will play against people your level and there is something to lose even if that one thing is pride. Therefore, you should practice under pressure as well as when there is no pressure.