Προς το περιεχόμενο

e2e Acceptance Testing and dependencies


Προτεινόμενες αναρτήσεις

Δημοσ. (επεξεργασμένο)

Καλησπέρα. Έχω την εξής απορία και περιέργεια!.

Φανταστείτε οτι έχουμε ενα e-shop (γραμμένο σε php). και θέλουμε να γράψουμε acceptance tests.

Ένα λοιπόν test σενάριο θα μπορούσε να είναι το εξης:

βάζω κάποια προϊόντα στο καλάθι, προχωρώ στην σελίδα πληρωμής, βάζω μια κάρτα, 
πατώ πληρωμή και περιμένω να δω μια επιτυχημένη πληρωμή
οπου να φαίνεται και η αναλυτική χρεώση. 

Τώρα ας υποθέσουμε ότι στο production περιβάλλον οι αναζητήσεις των προϊόντων κατάγραφονται σε μια NoSQL βάση
,΄ότι γίνεται φυσικά ένα http request προς ένα τραπεζικό σύστημα και αποστέλλεται ένα mail στον πελάτη σε περίπτωση επιτυχημένης πληρωμής.
Φυσικά στο test δεν θέλω να γεμίζω με σκουπίδια τις βάσεις ,ούτε φυσικά να χρεώνω κάρτες και να στέλνω mail.

 Άρα λοιπόν πως θα κάνω "mock" αυτά τα dependencies? 
Ή μήπως το  σκέφτομαι τελείως λάθος και υπάρχει κι άλλο μονοπάτι;


Ευχαριστώ!

Επεξ/σία από zynif
Δημοσ.

Στο test (υποθέτω μιλάμε για acceptance test μέσω headless browser έτσι?) θα έχεις διαφορετικά configured αλλά κατά τα άλλα όμοιο περιβάλλον με το production.

- άλλη βάση δεδομένων, με όσα fixtures χρειάζονται μέσα

- μέιλ θα στέλνεις σε διεύθυνση που εσύ ελέγχεις ("του χρήστη")

- κάρτα θα βάλεις αυτή που θα σου πει ο payment processor σου στην τεχνική υποστήριξη των πελατών του που ρωτάνε "πως θα τεστάρω ότι δουλεύουν οι πληρωμές"

Δημοσ.

Ναι όπως πχ Selenium. Χμμ , δηλαδή λες οτι πρέπει να υπάρχει ενα άλλο μηχάνημα, που να χει ακριβώς τον ίδιο ακριβώς source code με το production απλά διαφορετικά

configurations ε;

Δημοσ.

Εννοείται, αλλιώς θα κάνεις acceptance test σε... κάτι άλλο από το σύστημα παραγωγής, which defeats the purpose.

Επίσης όπου "μηχάνημα", την σήμερον αυτό στην πράξη σημαίνει Docker containers.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...