Diferencia entre revisiones de «Pruebas unitarias - django»
De Wiki de EGC
(No se muestra una edición intermedia del mismo usuario) | |||
Línea 40: | Línea 40: | ||
</source> | </source> | ||
− | * Disponemos de un método setup que se ejecutará con anterioridad a las pruebas. | + | * Disponemos de un método setup que se ejecutará con anterioridad a cada una de 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 | 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 | ||
Línea 47: | Línea 47: | ||
* 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] | * 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''' | |
− | 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 | 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 actual del 13:26 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 cada una de 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