Diferencia entre revisiones de «Pruebas unitarias - django»
De Wiki de EGC
(Página creada con «Lo primero que vamos a tratar de ejecutar son el conjunto de pruebas unitarias que tenemos dentro de la aplicación de decide. <source> from django.contrib.auth.models imp...») |
|||
| Línea 2: | Línea 2: | ||
<source> | <source> | ||
| + | from django.test import TestCase | ||
| + | from rest_framework.test import APIClient | ||
| + | from rest_framework.test import APITestCase | ||
| + | |||
from django.contrib.auth.models import User | from django.contrib.auth.models import User | ||
from rest_framework.authtoken.models import Token | from rest_framework.authtoken.models import Token | ||
| Línea 35: | Línea 39: | ||
... | ... | ||
</source> | </source> | ||
| + | |||
| + | * Disponemos de un método setup que se ejecutará con anterioridad a las pruebas. | ||
| + | Este método nos permite preparar el sistema para la ejecución de las pruebas. En el ejemplo creamos un usuario voter1 con el password 123 | ||
| + | |||
| + | * Por otra parte disponemos de un método tearDown que se encarga de eliminar la asignación del usuario. | ||
| + | |||
| + | * Finalmente cada una de las pruebas se ejecuta lanzando los distintos métodos test: que se encuentren implementados en la clase. [https://github.com/EGCETSII/decide/blob/master/decide/authentication/tests.py] | ||
| + | |||
| + | |||
| + | Ejercicio 1 | ||
| + | |||
| + | Implementar un nuevo test que se encarge de probar si es posible autenticarse con el usuario admin y el password admin. Ejecutar la prueba | ||
Revisión del 13:17 15 nov 2019
Lo primero que vamos a tratar de ejecutar son el conjunto de pruebas unitarias que tenemos dentro de la aplicación de decide.
from django.test import TestCase
from rest_framework.test import APIClient
from rest_framework.test import APITestCase
from django.contrib.auth.models import User
from rest_framework.authtoken.models import Token
from base import mods
class AuthTestCase(APITestCase):
def setUp(self):
self.client = APIClient()
mods.mock_query(self.client)
u = User(username='voter1')
u.set_password('123')
u.save()
u2 = User(username='admin')
u2.set_password('admin')
u2.is_superuser = True
u2.save()
def tearDown(self):
self.client = None
def test_login(self):
data = {'username': 'voter1', 'password': '123'}
response = self.client.post('/authentication/login/', data, format='json')
self.assertEqual(response.status_code, 200)
token = response.json()
self.assertTrue(token.get('token'))
...- Disponemos de un método setup que se ejecutará con anterioridad a las pruebas.
Este método nos permite preparar el sistema para la ejecución de las pruebas. En el ejemplo creamos un usuario voter1 con el password 123
- Por otra parte disponemos de un método tearDown que se encarga de eliminar la asignación del usuario.
- Finalmente cada una de las pruebas se ejecuta lanzando los distintos métodos test: que se encuentren implementados en la clase. [1]
Ejercicio 1
Implementar un nuevo test que se encarge de probar si es posible autenticarse con el usuario admin y el password admin. Ejecutar la prueba