Ich bin neu zu spock und habe die Dokumentation durchgegangen, aber verstehe noch nicht vollständig, wie man den then
Abschnitt benutzt. Wenn ich zwei Strings vergleichen möchte, was würde im then
Block gehen?Wie man `then` Block im Spocktest verwendet
setup:
def String1 = "books"
def String2 = new File('/path/to/file').text
when:
String1 = String1.toLowerCase()
String2 = String2.toLowerCase()
then:
if (String1 == String2) {
print "file contains the word" + String1
}
muss ich die Prüfung nicht bestanden, wenn beide Strings gleich sind, aber zur Zeit geht es.
Sie haben noch einen Ausdruck zu testen. Das sollte dann sein, 'string1 == string2' –
Nein, es sollte' String1! = String2' sein, weil der Test fehlschlagen sollte, wenn sie gleich sind. Aber bitte verwenden Sie keine Variablennamen, die mit Großbuchstaben beginnen, da Sie per Konvention nur solche Klassennamen schreiben würden. Übrigens könnte der Test auch einfach sein: 'expect:' (Zeilenvorschub) '! New Datei ('/ Pfad/zu/Datei'). Text.toLowerCase(). Enthält (" Bücher ")'. Dies mag für einige Leute etwas weniger leicht zu lesen sein (für mich einfacher), aber macht das selbe und drückt sogar aus, dass die Textdatei ** das Wort enthält, nicht dass es genau gleich ist. Ich denke, ein Test sollte nicht ausführlicher sein als nötig. – kriegaex