Проверка ошибок с огурцом - PullRequest
3 голосов
/ 13 февраля 2012

Итак, у меня есть следующий метод, который должен загрузить файл.

class Loader
    def load_file(file_to_load)  
        if not FileTest.exists?(file_to_load)
          raise "File Does Not Exist"
        end
    end
end  

Я использую Cucumber для проверки работоспособности, и я использую следующие определения шагов:

Given an import file doesn't exist
When a user runs the loader
Then the import fails

Определение шага для шагов «Когда» выглядит следующим образом:

When /^a user runs the loaderd$/ do
   @loader = MovieLoader.new
   @loader.load_file
end

Then /^the import fails%/

end

Однако, поскольку исключение возникает как часть вызова метода load_file в шаге «Когда», какЯ проверяю это на этапе «Тогда».

Может кто-нибудь помочь, пожалуйста?

Ответы [ 2 ]

0 голосов
/ 07 ноября 2014

в шаге when фиксирует ошибку и подтверждает, что ошибка существует на шаге then.

Я не делаю ruby, поэтому я не знаю синтаксис, но в основном вы хотите что-то вроде этого в псевдокоде:

When /^a user runs the loaderd$/ do
   @loader = MovieLoader.new
   try
      @loader.load_file
   catch
      error = "load failed"
end

Then /^the import fails%/
    if (error != "load failed")
        raise "expected error was not raised"
end
0 голосов
/ 13 февраля 2012

Поместите @ loader.load_file в шаг затем.

...