У меня есть сценарий огурца, который проверяет определенные строки в файле.Не очень идеальный способ ведения дел, но он считается абсолютной необходимостью.
Сценарий «Мой огурец», в котором есть таблица:
И в письме должно быть указано
|search_string|
|Nokogiri |
|Cucumber |
|White Tiger |
Определение моего шага
Given /^the email should have$/ do |table|
table.hashes.each do |hash|
check_email(hash["search_string"])
end
end
Мой метод check_email
require 'nokogiri'
def check_email(search_string)
htmlFile = File.open(filename).read
doc = Nokogiri::HTML::DocumentFragment.parse(htmlFile)
if (doc.content["#{search_string}"])
puts true
return true
end
htmlFile.close
puts false
return false
end
Файл, который я читаю, хотя и имеет расширение ".txt", содержимое в файле в формате HTML.
- Метод читает правильный файл
- Файл содержит содержимое, которое метод пытается найти
Теперь к актуальной проблеме, которую я
- Строка search_string в моем сценарии с огурцом имеет 3 значения для поиска.«Белого тигра» нет в файле
- Так как «Белого тигра» нет в файле, тест должен провалиться, но вместо этого тест проходит успешно / я должен сказать, что вижу «зеленый», и когда я вывожуфактические результаты, как указано выше в коде, который он четко показывает (верно для Nokogiri, верно для Cucumber и false для White Tiger).
Мой вопрос: как я могу это сделать?Результаты таблицы огурцов должны показывать GREEN / PASS только для значений, которые доступны в файле, и RED / FAIL для значений, которых нет в файле.
Может кто-нибудь, пожалуйста, помогите мне с этим.Цените заранее.