Partage
  • Partager sur Facebook
  • Partager sur Twitter

Django Api Rest_framework

Test sur liste avec model Category

    13 septembre 2022 à 13:24:36

    from django.urls import reverse_lazy #verify des test untester
    from rest_framework.test import APITestCase
    
    from shop.models import Category
    
    class TestCategory(APITestCase):
        
        # Nous stockons l’url de l'endpoint dans un attribut de classe pour pouvoir 
        # l’utiliser plus facilement dans chacun de nos tests
        url = reverse_lazy('category-list')
    
        def format_datetime(self, value):
            # Cette méthode est un helper permettant de formater une date
            # en chaine de caractères sous le même format que celui de l’api
            return value.strftime("%Y-%m-%dT%H:%M:%S.%fZ")
    
        def test_list(self):
            # Créons deux catégories dont une seule est active
            category = Category.objects.create(name='Fruits', active=True)
            Category.objects.create(name='Légumes', active=False)
    
            # On réalise l’appel en GET en utilisant le client de la classe de test
            response = self.client.get(self.url)
              
            # Nous vérifions que le status code est bien 200
            # et que les valeurs retournées sont bien celles attendues
            self.assertEqual(response.status_code, 200)
            excepted = [ 
                {
                    'id': category.id,
                    'name': category.name,
                    'date_created': self.format_datetime(category.date_created),
                    'date_updated': self.format_datetime(category.date_updated),
                }
            ]
            
            self.assertEqual(response.json(), excepted)
    Lorsque j'effectue le text ça me retourne un test échoué, comme résultat:

    -
    Edité par anicetkoué 13 septembre 2022 à 13:25:23

    • Partager sur Facebook
    • Partager sur Twitter
      13 septembre 2022 à 14:11:01

      il manque des choses dans ta question
      • Partager sur Facebook
      • Partager sur Twitter
        13 septembre 2022 à 15:49:43

        Bonjour,

        Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
        Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

        Pour plus d'informations, nous vous invitons à lire les règles générales du forum

        Manque de Politesse

        Votre message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ?

        Manque de précisions

        Vous êtes ici sur un forum d'entraide communautaire et non pas sur un forum de demande de service, le but n'est donc pas de fournir une réponse toute faite ou de directement fournir la solution à quiconque viendrait sans la moindre trace. Afin d'obtenir de l'aide et une solution à votre problème, il est fortement recommandé de présenter clairement l'état actuel du problème en nous fournissant :

        • Un descriptif clair et précis du problème
        • La tentative actuelle de résolution que vous avez effectué
        • Le résultat attendu et le résultat actuel
        • Toutes pistes de recherches pouvant aider à la résolution

        Liens conseillés

        • Partager sur Facebook
        • Partager sur Twitter
          13 septembre 2022 à 17:31:16

          umfred a écrit:

          il manque des choses dans ta question

          umfred a écrit:

          il manque des choses dans ta question




          voici L'erreur qui s'affiche
          • Partager sur Facebook
          • Partager sur Twitter
            13 septembre 2022 à 17:46:49

            à quoi bon tester si on ne sait pas lire le résultat des tests?
            • Partager sur Facebook
            • Partager sur Twitter
              13 septembre 2022 à 19:18:17

              l'erreur dit que les listes testés sont différentes, il doit manquer un truc comme active
              • Partager sur Facebook
              • Partager sur Twitter

              Django Api Rest_framework

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              • Editeur
              • Markdown