Na minha experiência, a única maneira de realmente fazer isso é com um ambiente de preparação e práticas de desenvolvimento cuidadosas. Zombar do verdadeiro trabalho a ser feito é incrivelmente bagunçado e frágil, e as suítes de testes de CI em commit ou push são um lote de esforço para escrever e manter (embora o Chef seja provavelmente muito melhor nisso do que Fantoche, que é a minha principal experiência), e levar um tempo ridículo para correr.
EDITAR
Logo depois que escrevi isso, de repente percebi que poderia haver uma maneira de fazer testes razoavelmente eficientes de "unidade" de receitas Chef / Puppet com um sistema de arquivos unidos e uma quantidade significativa de andaimes. No entanto, não consigo encontrar nada por aí que alguém já tenha feito nessa área. Eu poderia ter acabado de encontrar um projeto.