Ο καλύτερος τρόπος για να δοκιμάσετε τα εργαλεία της γραμμής εντολών;

ψήφοι
13

Έχω μια μεγάλη συλλογή των υπηρεσιών κοινής ωφελείας γραμμής εντολών που εμείς οι ίδιοι γράφουν και χρησιμοποιούν συχνά. Αυτή τη στιγμή δοκιμές αυτές είναι πολύ δυσκίνητη και, κατά συνέπεια, δεν κάνουμε τόσο πολύ τις δοκιμές, όπως έχουμε τίποτε να.

Αναρωτιέμαι αν κάποιος μπορεί να προτείνει καλές τεχνικές και εργαλεία για να κάνει μια καλή δουλειά αυτού του είδους το πράγμα.

Επεξεργασία: για να διευκρινιστεί αυτό είναι το UNIX

Ευχαριστώ εκ των προτέρων. Κάποιος

Δημοσιεύθηκε 09/12/2008 στις 16:46
πηγή χρήστη
Σε άλλες γλώσσες...                            


9 απαντήσεις

ψήφοι
4

Χρησιμοποιώντας Cram μπορείτε να γράψετε τις δοκιμές που μοιάζουν με ένα διαδραστικό σύνοδο του φλοιού. Cram τότε θα επαναλάβει τις εντολές από τη δοκιμή, συγκρίνετε έξοδο προς τον αναφοράς, και να αναφέρουν τις διαφορές. Format Δοκιμές είναι αρκετά ευέλικτο και επιτρέπει να ταιριάζει εξόδου χρησιμοποιώντας Perl regex ή κέλυφος-όπως μπαλαντέρ.

Απαντήθηκε 02/07/2015 στις 19:34
πηγή χρήστη

ψήφοι
4

Αρούμπα είναι ένα αγγούρι επέκταση για τη δοκιμή εφαρμογών γραμμής εντολών γραμμένο σε οποιαδήποτε γλώσσα προγραμματισμού.

Για να το χρησιμοποιήσετε, θα πρέπει ρουμπίνι για να τρέξει τις δοκιμές, αλλά ο σκοπός της Αρούμπα είναι να παρέχει μια βιβλιοθήκη προκαθορισμένων ορισμών βήμα, έτσι ώστε δεν θα χρειαστεί να γράψω οποιοδήποτε κώδικα ρουμπίνι για να κάνει μια λειτουργική σουίτα δοκιμής. (Αν και κάποια στιγμή μάλλον θα θέλετε να γράψετε ένα κομμάτι του ρουμπίνι να κάνω μερικές έθιμο βήματα.)

Μπορείτε να δείτε ένα εξελιγμένο παράδειγμα ενός εργαλείου γραμμής εντολών δοκιμαστεί με Αρούμπα εδώ: jingweno / gh

Απαντήθηκε 28/02/2014 στις 05:56
πηγή χρήστη

ψήφοι
4

Θα ήθελα να συστήσω τη δόμηση κώδικα εργαλείο γραμμής εντολών σας, έτσι ώστε το βοηθητικό πρόγραμμα γραμμής εντολών είναι ένας πελάτης σε μια βιβλιοθήκη των λειτουργιών ή / και κατηγορίες.

Αντί απλά χρησιμοποιώντας std :: cout για να εκτυπώσετε εξόδου, έχει η λειτουργία των βιβλιοθηκών λάβει μια αναφορά ostream ότι προεπιλογή std :: cout. Όταν δοκιμάζετε, παρέχουν ένα std :: stringstream να συλλέξει την έξοδο.

Τέλος, απλά να συγκρίνετε εξόδου βοηθητικό πρόγραμμα σας με τα αναμενόμενα αποτελέσματα, χρησιμοποιώντας το αγαπημένο σας πλαίσιο δοκιμών μονάδα.

(Ζητώ συγγνώμη για την C ++ συγκεκριμένο παράδειγμα ... Είμαι βέβαιος ότι υπάρχουν τρόποι για να κάνετε κάτι παρόμοιο και σε άλλες γλώσσες).

Απαντήθηκε 10/12/2008 στις 03:36
πηγή χρήστη

ψήφοι
3

Θα πρέπει να είναι σε θέση να τους καλέσετε από ένα σενάριο φλοιού (αρχείο δέσμης, σε λειτουργικά συστήματα MS), ανακατευθύνετε την έξοδο σε ένα αρχείο, στη συνέχεια, σαρώστε το αρχείο προγραμματισμού για να βεβαιωθείτε ότι έχει τη σωστή έξοδο. Δεν είμαι ενήμερος ενός πλαισίου δοκιμών που αυτοματοποιεί αυτό για σας, αλλά θα πρέπει να είναι αρκετά απλό να το ρυθμίσετε τον εαυτό σας.

Απαντήθηκε 09/12/2008 στις 16:52
πηγή χρήστη

ψήφοι
2

Έκανα ένα μικρό κομμάτι αυτής (πριν από ένα τραγικό βαθμό χεχε) χρησιμοποιώντας Αναμείνετε για να βεβαιωθείτε ότι αυτό που συνέβη ήταν αυτό που, μμμ, αναμένεται

Απαντήθηκε 09/12/2008 στις 17:02
πηγή χρήστη

ψήφοι
1

Οι νυχτερίδες (Bash Αυτοματοποιημένο Σύστημα Testing) από Sam Stephenson. Είναι μικρό, γραμμένο αποκλειστικά με κέλυφος και έχει ένα ωραίο σύνολο χαρακτηριστικών.

Προηγουμένως πρότεινε Αρούμπα φαίνεται ενδιαφέρουσα, αλλά σε ορισμένες περιπτώσεις μπορεί να είναι ήσυχο μια υπερβολή όσον αφορά την εξαρτήσεων (ρουμπίνι, αγγούρι)

Απαντήθηκε 17/04/2016 στις 10:44
πηγή χρήστη

ψήφοι
0

Έχω αναπτύξει ένα εργαλείο «Ακριβώς» https://github.com/emilkarlen/exactly

Εκτελεί το πράγμα που πρέπει να ελέγξετε σε ένα προσωρινό κατάλογο sandbox. Το README περιέχει έναν αριθμό παραδειγμάτων.

Μια δοκιμή ενός hypotethical πρόγραμμα μπορεί να μοιάζει με αυτό «αρχεία-από-μετακίνηση-to-κατάλληλη-dir ταξινομήσει-»:

[setup]

dir input
dir output/good
dir output/bad

file input/a.txt = <<EOF
GOOD contents
EOF

file input/b.txt = <<EOF
bad contents
EOF

[act]

classify-files-by-moving-to-appropriate-dir GOOD input/ output/

[assert]

dir-contents input empty

exists output/good/a.txt : type file
dir-contents output/good num-files == 1

exists output/bad/b.txt : type file
dir-contents output/bad num-files == 1
Απαντήθηκε 27/03/2019 στις 14:40
πηγή χρήστη

ψήφοι
0

Θα μπορούσατε να χρησιμοποιήσετε perl με Τεστ :: περισσότερα βιβλιοθήκης, η οποία παρέχει μια μεγάλη πλαίσιο για τον έλεγχο δείκτες CLI. Αν και έχουν σχεδιαστεί κυρίως για τον έλεγχο μονάδας, θα μπορούσε να επεκταθεί σε δοκιμή ροές εργασίας χρήστη.

Μερικές από τις μεθόδους:

 # Various ways to say "ok"
  ok($got eq $expected, $test_name);
  is  ($got, $expected, $test_name);
  isnt($got, $expected, $test_name);

  # Rather than print STDERR "# here's what went wrong\n"
  diag("here's what went wrong");

  like  ($got, qr/expected/, $test_name);
  unlike($got, qr/expected/, $test_name);

  cmp_ok($got, '==', $expected, $test_name);

Απαντήθηκε 15/01/2015 στις 19:19
πηγή χρήστη

ψήφοι
0

Μπορείτε να το κάνετε αυτό από ένα αρχείο δέσμης παράθυρα oder scripting υποδοχής.

Αλλά υπόσχομαι να χρησιμοποιήσετε ένα χρονοδιάγραμμα εργασιών, όπως ( http://www.splinterware.com/products/wincron.htm ) ή άλλο ελεύθερο / επαγγελματικό λογισμικό.

Εκεί μπορείτε να την εύκολη αντιγραφή / επικόλληση των εντολών-παραμέτρους που θα πρέπει να ποικίλουν σε, όταν θες να δοκιμάσετε το λογισμικό σας για περίπου πολλές 100 φορές ?!

Απαντήθηκε 09/12/2008 στις 16:54
πηγή χρήστη

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more