Pester Einstieg

Posted on: 14. Mai 2019
Alle Infos die du brauchst um das Video erfolgreich umzusetzen:
Mit dem Pester Framework für PowerSHELL kannst du test getrieben entwickeln (TDD) und machst so weniger Fehler mit deinen Scripts. Dies soll nur ein kleiner Einstieg sein und du entscheidest ob du dazu mehr sehen willst.

Wir sind offen und gespannt auf deine Anregungen: Input-Formular
Am einfachsten schaust du das Video und hast dazu diesen Code offen. So kannst du auch den Code in deiner gewünschten Grösse darstellen und kannst dem Video einfacher folgen.
——————————————–
https://github.com/pester/Pester/wiki

# Rahmenbedingungen für Pester #            
            
# Ein Objekt soll erstellt werden            
# Die Eigenschaft Name soll vorhanden sein            
# Der Name soll aus Buchstaben bestehen            
# Die Eigenschaft Alter soll vorhanden sein            
# Das Alter soll >= 18 Sein            
# Die Eigenschaft Erstellungsdatum soll vorhanden sein            
# Der Erstellungsdatum soll im Jahr 2019 sein            
            
# Funktion die getestet werden soll            
function new-GPSUser {            
    # Festlegen der Parameter            
    param(            
        $Name,            
        $Alter,            
        $Erstellungsdatum            
    )            
            
    # Erstellen eines temporären Objekts            
    $Temp = New-Object psobject            
                
    # Erstellen der Eigenschaften (Property)            
    $Temp | Add-Member -NotePropertyName "Name" -NotePropertyValue $Name            
    $Temp | Add-Member -NotePropertyName "Alter" -NotePropertyValue $Alter            
    $Temp | Add-Member -NotePropertyName "Erstellungsdatum" -NotePropertyValue (get-date)            
            
    # Zurückgeben des Objekts            
    return $Temp            
}            
            
# Aufrufen der Funktion mit Parametern zum Testen            
$NewUser = new-GPSUser -Name "Tom Dobler" -Alter 50            
            
describe "new-GPSUser" {            
            
    context "Objekt" {            
        # Ein Objekt soll erstellt werden            
        it "Ein Objekt soll erstellt werden" {            
            $NewUser | should -BeOfType psobject            
        }            
    }            
            
            
    context "Name" {            
                    
        # Die Eigenschaft Name soll vorhanden sein            
        it "Die Eigenschaft Name soll vorhanden sein" {            
            $NewUser.Name | should -Not -BeNullOrEmpty            
        }            
                    
        # Der Name soll aus Buchstaben bestehen            
        it "Der Name soll aus Buchstaben bestehen" {            
            $NewUser.Name | should -Match "[a-zA-Z\s]*"            
        }            
    }            
            
    context "Alter " {            
        # Die Eigenschaft Alter soll vorhanden sein            
        it "Die Eigenschaft Alter soll vorhanden sein" {            
            $NewUser.Alter |    should -Not -BeNullOrEmpty             
        }            
            
        # Das Alter soll >= 18 Sein            
        it "Das Alter soll >= 18 Sein" {            
            $NewUser.Alter | should -BeGreaterOrEqual 18            
        }            
    }            
            
    context "Erstellungsdatum" {            
        # Die Eigenschaft Erstellungsdatum soll vorhanden sein            
        it "Die Eigenschaft Erstellungsdatum soll vorhanden sein" {            
            $NewUser.Erstellungsdatum | should -Not -BeNullOrEmpty            
        }            
            
        # Das Erstellungsdatum soll im Jahr 2019 sein            
        it "Das Erstellungsdatum soll im Jahr 2019 sein" {            
            ($NewUser.Erstellungsdatum).year | should -BeExactly 2019            
        }            
    }            
            
}            
            
# Ausgabe des zurückgegebenen Objekts            
$NewUser
——————————————–
Hat dir das Video gefallen und etwas gebracht, dann freuen wir uns immer auf dein Feedback. Daumen nach oben, Kommentar und Abo sind geeignete Mittel um das auszudrücken. Falls du kannst, mache doch auch deine Kollegen auf unseren Kanal aufmerksam. Denn so wachsen wir zusammen stetig weiter und das freut uns alle. Win-Win-Win.
Falls du spezielle Anforderungen an Scripts oder Auftragsarbeiten hast, kannst du mich gerne direkt per Email erreichen. Alle Infos dazu sind hier Kontakt
Ich hoffe du verstehst, dass ich nur Videos zu Themen machen kann, die ein grösseres Interesse von verschiedenen Leuten haben. Benutzerspezifische Scripts erstelle ich ausschliesslich als Auftragsarbeiten oder im Mandat.

Da wir sämtliche Videos kostenlos zur Verfügung stellen und auch keine Werbung reinpacken, sind wir immer froh für eine kleine Spende. Vielen Dank bereits dafür.