Si turn_twizzles, push_buttonsy move_mountainson públicos y son llamados por otro código, entonces creo que es importante refactorizar sus pruebas para probar estas funciones individualmente.
Por desgracia después de su refactor tiene un problema: a prueba de unidad do_everythingque necesita para ser capaz de burlarse turn_twizzles, push_buttonsy move_mountain. Escribir pruebas do_everythingsin burlarse de las dependencias será una prueba de integración, no necesariamente algo malo dependiendo de su plan de prueba, pero no habrá muchos beneficios porque ya está probando las tres funciones más pequeñas individualmente. Este puede ser el momento adecuado para rediseñar este componente y colaborar con otros objetos para hacer todo el trabajo do_everything.
Si turn_twizzles, push_buttonsy move_mountainno se llaman externamente, deberían marcarse como privados, y no recomendaría probarlos por separado do_everything. Esto se debe a que desde una de entrada fuera de aspecto perspectiva, do_everythingsería la unidad más pequeña (ya que los otros son inaccesibles). Consulte también esta respuesta sobre la separación de métodos que utilizan métodos privados.