Δοκιμές στη διαδρομή Visual Basic

Μάθε πώς να δοκιμάζεις τις ασκήσεις σου σε Visual Basic στο Exercism


Μια άσκηση που έχεις κατεβάσει περιλαμβάνει αυτά τα αρχεία για να χτίσεις και να δοκιμάσεις τη λύση σου:

hello-world/
├── HelloWorld.vb          # Your solution
├── HelloWorldTests.vb     # The test suite
├── HelloWorld.vbproj      # Project and build configuration
└── packages.lock.json     # Resolved project dependencies

Τα ονόματα των αρχείων διαφέρουν από άσκηση σε άσκηση. Γράψε τη λύση σου στο πρώτο αρχείο .vb. Το δεύτερο αρχείο, αυτό που τελειώνει σε Tests.vb, είναι η [σουίτα τεστ του xUnit][xunit]. Συνήθως θα το επεξεργαστείς μόνο για να ενεργοποιήσεις τα επόμενα τεστ. Δε θα χρειαστεί να επεξεργαστείς κανένα από τα δύο τελευταία αρχεία. Το αρχείο .vbproj περιέχει τις ρυθμίσεις χτισίματος του έργου και τις άμεσες αναφορές πακέτων. Το αρχείο packages.lock.json που δημιουργείται καταγράφει τις τελικές εκδόσεις των άμεσων και μεταβατικών πακέτων.

Note

Τα τεστ περιγράφουν τη συμπεριφορά που πρέπει να ικανοποιεί μια λύση που περνάει. Μπορούν να βοηθήσουν να ξεκαθαρίσεις λεπτομέρειες που δεν καλύπτονται από τις οδηγίες.

Εκτέλεση των τεστ

Άνοιξε ένα τερματικό στον φάκελο της άσκησης και τρέξε:

dotnet test

Η εντολή επαναφέρει τις εξαρτήσεις του έργου, χτίζει το έργο και τρέχει τα τεστ του. Μπορείς επίσης να χρησιμοποιήσεις το dotnet watch test για να ξανατρέχεις τα τεστ κάθε φορά που αλλάζει ένα αρχείο πηγαίου κώδικα.

Τεστ που παραλείπονται

Οι ασκήσεις ενεργοποιούν αρχικά μόνο το πρώτο τεστ, ώστε να μπορείς να λύσεις τα υπόλοιπα ένα βήμα τη φορά. Άνοιξε το αρχείο που τελειώνει σε Tests.vb για να βρεις τα τεστ. Κάθε τεστ είναι μια υπορουτίνα Sub που επισημαίνεται με ένα χαρακτηριστικό <Fact> του xUnit. Ένα τεστ παραλείπεται όσο το χαρακτηριστικό <Fact> του έχει όρισμα Skip:

<Fact(Skip:="Remove this Skip property to run this test")>
Public Sub Lowercase_words()
    Assert.Equal("ROR", Abbreviate("Ruby on Rails"))
End Sub

Για να ενεργοποιήσεις το τεστ, απλώς αφαίρεσε το όρισμα Skip:

<Fact>
Public Sub Lowercase_words()
    Assert.Equal("ROR", Abbreviate("Ruby on Rails"))
End Sub

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