There are number of reasons for your pet to behave like this. For example, he may have fear for new food, previous bad experience with the food, poor palatability or simply he may be a fussy eater. Some dogs may refuse food/skip meals when they have consumed more energy than they would require (which is common in our experience). Small breeds are generally fussy eaters. If he continues to refuse, the most effective way to get your dog to eat his food is to offer a small amount of food and leave it down for a maximum of 20 minutes and leave him alone. If the food is not eaten after 20 minutes, pick the food up and let him see you throw it away. Do not talk or fuss him, just ignore him. If you do make a fuss of your dog at this stage, he will start associate not eating with getting attention. Do not offer any snacks or tit bits. Keep repeating this process every couple of hours throughout the day. By the end of second day, he will probably be hungry and when you offer the food he should eat it. If he continues to refuse food, you are suggested to contact your vet and discuss whether there may be medical cause(s) for this and in some instances, blood work may be required to find out the underlying cause.
Question by - Rakesh Kumar, Delhi