Aller au contenu principal

Le site est en cours de migration vers la solution la plus adaptée.

Aller au contenu principal

Tester les vues, les modèles et les formulaires

Apprendre Flask : Le Guide Ultime
3 min de lecture
0 commentaires
Gratuit

Crée un dossier tests et un fichier test_auth.py.

1. Tester un Modèle (Unitaire)

def test_password_hashing():
    u = User(username='test', email='test@test.com')
    u.set_password('cat')
    
    assert u.check_password('cat') # Doit être Vrai
    assert not u.check_password('dog') # Doit être Faux

2. Tester une Vue (Intégration)

On utilise la fixture client qu'on a définie avant.

def test_login_page(client):
    # On fait un GET sur /login
    response = client.get('/auth/login')
    
    assert response.status_code == 200
    assert b"Se connecter" in response.data # On vérifie que le texte est dans le HTML

3. Tester une action (POST)

def test_register(client, app):
    # On envoie des données
    response = client.post('/auth/register', data={
        'username': 'bob',
        'email': 'bob@gmail.com',
        'password': 'password123',
        'confirm': 'password123'
    }, follow_redirects=True) # On suit la redirection après le POST
    
    assert response.status_code == 200
    assert b"Compte créé" in response.data # Message flash
    
    # Vérifions en base
    with app.app_context():
        assert User.query.count() == 1
        assert User.query.first().username == 'bob'

Si tu lances pytest, tu verras des points verts .. s'afficher. C'est satisfaisant. 🟢

Commentaires (0)

Laisser un commentaire

Aucun commentaire pour le moment. Soyez le premier à commenter !