By taking you through the development of a real web application from beginning to end, this hands-on guide demonstrates the practical advantages of test-driven development (TDD) with Python. You’ll learn how to write and run tests before building each part of your app, and then develop the minimum amount of code required to pass those tests. The result? Clean code that works. In the process, you’ll learn the basics of Django, Selenium, Git, jQuery, and Mock, along with current web development techniques. If you’re ready to take your Python skills to the next level, this book clearly demonstrates how TDD encourages simple designs and inspires confidence.
Este es un libro que si estás comenzando en Python y Testing es imperdible, es uno de los mejores libros técnicos que he leído, por su ritmo, profundidad, humor y manera entretenida y didáctica de escritura.
No leí toooodas las partes a profundidad, ya que es un libro muy práctico que tiene muchas partes de código (además de que está un poco desactualizado), pero creo que los principios que puedes aprender si trasladas el código a algo moderno, son muy valiosos.
Este libro cubre todas las partes de del testing, desde unit testing hasta behavior y pruebas de integración. No sólo te enseña a hacerlas, sino que además trata preguntas y puntos de vista diferentes, muchas veces evolucionando en los acercamientos a las soluciones.
Algo que tienes que saber es que usa Django para lograr muchas de las hace, por lo cuál muchas de las técnicas están estrechamente ligadas al Django del tiempo en el que se escribió y las soluciones que Django usa para hacer tests limpios, como por ejemplo, la creación y destrucción de la base de datos cada vez que se corre un ciclo de pruebas.
Sin duda, creo que este libro lo deberían leer todos los desarrolladores interesados en testing, o por lo menos echarle una lectura rápida (skimming) para ver en qué partes de las que profundiza te pueden servir tanto para empezar como aprender testing.
La última desventaja que le veo (en 2022) es su edad y que no usa herramientas de desarrollo y testing tan modernas como PyTest, pero creo que complementándolo con recursos que te las enseñen, se pueden aprender los conceptos de forma moderna. Espero haya una tercera edición actualizada pronto.