South Africa captain Faf du Plessis will miss the Boxing Day Test against Zimbabwe at St George’s Park because of a viral infection, Cricket South Africa said hours before the start of the day-night encounter.