2016-10-19 2 views
3

Я столкнулся с ошибкой «уровень стека слишком глубокий (SystemStackError)» каждый раз, когда утверждение терпит неудачу, независимо от того, что является фактическим: timeout_messageОшибка Calabash-iOS: слишком сложная (SystemStackError) ошибка возникает каждый раз, когда утверждение терпит неудачу

следующие примеры кода являются только два из множества тех, что поднимается выше упомянутой ошибки каждый раз, когда утверждение неисправного:

def wait_and_touch(element) 
    when_element_exists(element, :timeout => 10, :timeout_message => "[#{element}] element was not identified") 
    end 

    def check_user_message(usr) 
    usr_array = usr.gsub(",", " ").split 
    usr_array.each do |item| 
     f_name = @test_data.get_first_name(item) 
     wait_for(:timeout => 5, :timeout_message => "[FAIL] The message from #{f_name} should be displayed as unread!") { 
     query(panel_1_msg_cell + " descendant view {text CONTAINS '#{f_name}'}", :font).first.include? 'Roboto-Black' } 
    end 
    end 

Я в настоящее время используется тыкву -v 0.20.0 версия с рубинового 2.3.1 [x86_64], OS X El Capitan, -v 10.11.6

Любая идея, почему это происходит?

Спасибо

+1

Просьба указать трассировку стека или только фрагмент одного из них. Я думаю, что переполнение происходит из-за того, что метод «embed» вызывается слишком много раз. – jmoody

ответ

2

Я считаю, что вы вызываете include Calabash::Cucumber::Operations где-то. Вам не нужно использовать include Операции в любом месте вашего кода.

+0

Обновление: @jmoody, вы были правы, удалив 'include Calabash :: Cucumber :: Operations' с некоторых страниц, ошибка больше не происходит. Большое спасибо, это действительно помогло мне. – Razvan

Смежные вопросы