zynif Δημοσ. 24 Μαΐου 2018 Δημοσ. 24 Μαΐου 2018 (επεξεργασμένο) Καλησπέρα. Έχω την εξής απορία και περιέργεια!. Φανταστείτε οτι έχουμε ενα e-shop (γραμμένο σε php). και θέλουμε να γράψουμε acceptance tests. Ένα λοιπόν test σενάριο θα μπορούσε να είναι το εξης: βάζω κάποια προϊόντα στο καλάθι, προχωρώ στην σελίδα πληρωμής, βάζω μια κάρτα, πατώ πληρωμή και περιμένω να δω μια επιτυχημένη πληρωμή οπου να φαίνεται και η αναλυτική χρεώση. Τώρα ας υποθέσουμε ότι στο production περιβάλλον οι αναζητήσεις των προϊόντων κατάγραφονται σε μια NoSQL βάση ,΄ότι γίνεται φυσικά ένα http request προς ένα τραπεζικό σύστημα και αποστέλλεται ένα mail στον πελάτη σε περίπτωση επιτυχημένης πληρωμής. Φυσικά στο test δεν θέλω να γεμίζω με σκουπίδια τις βάσεις ,ούτε φυσικά να χρεώνω κάρτες και να στέλνω mail. Άρα λοιπόν πως θα κάνω "mock" αυτά τα dependencies? Ή μήπως το σκέφτομαι τελείως λάθος και υπάρχει κι άλλο μονοπάτι; Ευχαριστώ! Επεξ/σία 24 Μαΐου 2018 από zynif
defacer Δημοσ. 24 Μαΐου 2018 Δημοσ. 24 Μαΐου 2018 Στο test (υποθέτω μιλάμε για acceptance test μέσω headless browser έτσι?) θα έχεις διαφορετικά configured αλλά κατά τα άλλα όμοιο περιβάλλον με το production. - άλλη βάση δεδομένων, με όσα fixtures χρειάζονται μέσα - μέιλ θα στέλνεις σε διεύθυνση που εσύ ελέγχεις ("του χρήστη") - κάρτα θα βάλεις αυτή που θα σου πει ο payment processor σου στην τεχνική υποστήριξη των πελατών του που ρωτάνε "πως θα τεστάρω ότι δουλεύουν οι πληρωμές"
zynif Δημοσ. 25 Μαΐου 2018 Μέλος Δημοσ. 25 Μαΐου 2018 Ναι όπως πχ Selenium. Χμμ , δηλαδή λες οτι πρέπει να υπάρχει ενα άλλο μηχάνημα, που να χει ακριβώς τον ίδιο ακριβώς source code με το production απλά διαφορετικά configurations ε;
defacer Δημοσ. 25 Μαΐου 2018 Δημοσ. 25 Μαΐου 2018 Εννοείται, αλλιώς θα κάνεις acceptance test σε... κάτι άλλο από το σύστημα παραγωγής, which defeats the purpose. Επίσης όπου "μηχάνημα", την σήμερον αυτό στην πράξη σημαίνει Docker containers.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα