INNOCENT
1. Escribir las pruebas
2. Construir lo necesario para pasar esas pruebas.
3. Mejorar el código.
RED
GREEN
REFACTOR
import unittest
from mycode import *
class MyFirstTests(unittest.TestCase):
def test_hello(self):
self.assertEqual(hello_world(), 'hello world')
def hello_world():
pass
F
====================================================================
FAIL: test_hello (__main__.MyFirstTests)
--------------------------------------------------------------------
Traceback (most recent call last):
File "mytests.py", line 7, in test_hello
self.assertEqual(hello_world(), 'hello world')
AssertionError: None != 'hello world'
--------------------------------------------------------------------
Ran 1 test in 0.000s
FAILED (failures=1)
.
--------------------------------------------------------------------
Ran 1 test in 0.000s
OK
def hello_world():
return 'hello world'
La refactorización es como resolver el cubo de Rubik. Se necesitan muchos pasos pequeños para lograr un objetivo mayor."
No basta con que el código funcione, los programadores que se conforman con esto no son profesionales."