And a cat that doesn't run helps.
That would be the most important variable. You can train what you want but if a cat runs, it is pretty difficult or you need them separated. Also cats have a way of teasing the pup once he is on his best behavior or crated. Once I had a Siamese (notorious for this) who would walk over the pup's paws, touch is nose with her whiskers when he was doing well on a down-stay, would suddenly show up and climb in a tree when he was learning to heel etc. But they were good buddies.