Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι
  • Σελίδα:
  • 1
  • 2

ΘΕΜΑ: django testing url

django testing url 6 Χρόνια 3 Μήνες πριν #4962

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 249
  • Ληφθείσες Ευχαριστίες 70
Έκανα ένα δικό μου μικρό project για να δοκιμάσω λίγο τα tests και μου δουλεύει κανόνικά σου στέλνω όλα τα κομμάτια κώδικα και ελπίζω να βρεις που είναι το λάθος σου

tests.py
from django.test import TestCase
 
class Test_Thanks_Page(TestCase):
    def test_thanks_redirect(self):
       	names=['Θοδωρής', 'Χρίστος', 'Αποστόλης', 'Τάσος']
        for name in names:
            response = self.client.get('/register/thanks/'+name+'/')
            self.assertEqual(response.status_code, 200)
            self.assertContains(response,name)

views.py βάζω μόνο τη συνάρτηση που σχετίζεται
def thanks(request, user_name):
    context={'user_name':user_name}
    return render(request, 'registr/thanks.html', context)

urls.py
from django.urls import path, re_path
from . import views
 
urlpatterns = [
    path('', views.registr, name='registr'),
    path('thanks/<str:user_name>/', views.thanks, name='thanks'),
 
]
Μήν σε προβληματίζει ο τρόπος που ορίζονται τα url με path είναι το ίδιο απλά django2

και στο python manage.py test registr όλα δουλεύουν κανόνικα
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

django testing url 6 Χρόνια 3 Μήνες πριν #4963

  • xristosss20
  • Το Άβαταρ του/της xristosss20
  • Αποσυνδεμένος
  • pyt___
  • Δημοσιεύσεις: 53
@theo ευχαριστώ για την βοήθεια

το δοκίμασα αυτο που πρότεινες εκτός client
from django.test import Client, TestCase
class User_Form_Test(TestCase):
    def test_logged_user_get_details_images_slug(self):
        response = self.client.get('/details-images/my-slug', follow=True)
        self.assertEqual(response.status_code, 200)

αλλά τώρα παίρνω error 302.

επίσης δοκίμασα και αυτό το τεστ που έκανες και πάλι τπτ ίσως φταίει η διαφορετική εκδοσή django γτ εγώ έχω 1.11 δν ξέρω πραγματικά.

επίσης έψαξα και βρήκα ότι έχει 4 επίπεδα τεστ

manage.py test -v1
manage.py test -v2
manage.py test -v3
manage.py test -v4

χωρίς να ξέρω της διαφορά αυτών αλλά αν χρησιμοποιησω πχ το
manage.py test -v1 τότε στο pycharm παίρνω exit code 0 δηλ όλα σωστά σε αντίθετη περίπτωση παίρνω διαφορετικό κωδικό.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

django testing url 6 Χρόνια 3 Μήνες πριν #4964

  • Theo
  • Το Άβαταρ του/της Theo
  • Αποσυνδεμένος
  • pytho_
  • Δημοσιεύσεις: 249
  • Ληφθείσες Ευχαριστίες 70
Φίλε δεν ξέρω να σου πω
πρέπει να δω όλο τον κώδικα
αν τον έχεις στο github στείλε link
Λογικά κάτι χαζό είναι το λάθος

Τα v δεν έχουν να κάνουν με το τι tests γίνονται αλλά με το πόσο αναλυτική είναι η αναφορά της επιστροφής που παιρνείς
Αυτό είναι το σχετικό help
 
usage: manage.py test [-h] [--version] [-v {0,1,2,3}] [--settings SETTINGS]
                      [--pythonpath PYTHONPATH] [--traceback] [--no-color]
                      [--noinput] [--failfast] [--testrunner TESTRUNNER]
                      [-t TOP_LEVEL] [-p PATTERN] [-k] [-r] [--debug-mode]
                      [-d] [--parallel [N]] [--tag TAGS]
                      [--exclude-tag EXCLUDE_TAGS]
                      [test_label [test_label ...]]
 
  -v {0,1,2,3}, --verbosity {0,1,2,3}
                        Verbosity level; 0=minimal output, 1=normal output,
                        2=verbose output, 3=very verbose output
Τελευταία διόρθωση: 6 Χρόνια 3 Μήνες πριν από Theo.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Οι ακόλουθοι χρήστες είπαν "Σε Ευχαριστώ": xristosss20
  • Σελίδα:
  • 1
  • 2
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.256 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου