Test-driven Development for your front. Posible or impossible?

En los últimos años siempre he escuchado mil cosas acerca del TDD, desde maravillas, hasta imposibles, pero siempre la conversación empieza con un «No sé cómo testear algo que no existe aún». En esta ocasión vamos a llevarlo a otro extremo, vamos a aplicar TDD a una applicación front, donde el nivel de abstracción es aún mayor. Para ello, comenzaremos repasando las bases del TDD, y como aplicarlo a componentes, para ello nos serviremos de una aplicación React de ejemplo y de la librería enzyme.