Я новичок в том, чтобы спокать и просмотрел документацию, но до сих пор не совсем понимаю, как использовать раздел then
. Если я хочу сравнить две строки, что будет в блоке then
?Как использовать блок `then` в тесте spock
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
}
Мне нужно, чтобы тест потерпел неудачу, когда обе строки равны, но в настоящее время они проходят.
Вы не выражение для проверки. Тогда вы должны быть, 'string1 == string2' –
Нет, это должно быть' String1! = String2', потому что тест должен завершиться неудачно, когда они равны. Но, пожалуйста, не используйте имена переменных, начиная с символов верхнего регистра, потому что по соглашению вы будете писать только имена классов. BTW, тест также может быть просто: 'ожидать:' (linefeed) '! New File ('/ path/to/file'). Text.toLowerCase() содержит (" books ")'. Это может быть немного легче читать для некоторых людей (проще для меня), но делает то же самое и даже выражает, что текстовый файл ** содержит ** слово, а не то, что он точно равен ему. Я думаю, что тест не должен быть более подробным, чем необходимо. – kriegaex