I am learning XCode. Soon I will have to test my apps in a real device. I have a Mac but not an iPhone. I suppose I have to buy something. Is the iPod touch a good option to test my first apps?
I am not asking an opinion. This is just a technical question. Is the iPod Touch technically capable to be used with XCode to test, is it a correct tool for a developer?
You don't need a physical device until you need to test some basic features like "Calling...", "a camera to take a photo/video", "motion detections", "user's location"... and the things which you can't expect from a "iOS Simulator". Xcode (of course Apple) provides some simulators (few may call it emulators) for different devices like iPhone, iPad, and iWatch. So at initial "for only learning purpose" you may remain on it, once you get familiar with iOS development, you can purchase an iPhone (or iPad and not iPod). For me, if I'll own an iPhone then I can use it as my personal phone too. For iPod – you can't make phone calls or send message through your network. If you own an iPad then you have two options, one with sim or without sim. It depends on you to choose a device.
If you're planning to build professionally on later stages you should go with an iPhone (may be latest).
P.S. However, if your budget is not great then you can buy an iPhone4s (it supports iOS 9). And you can test almost everything on it.