【发布时间】:2015-06-11 16:02:41
【问题描述】:
我最近在我的代码中遇到了一个奇怪的小问题。它会随机地在一段代码上转储一个“堆栈级别太深(SystemStackError)”错误,该代码以前(有时是之前)一直在工作。我已经阅读了此处涉及堆栈级别的类似线程,但似乎找不到我的问题。某处发生了递归,但似乎不一致。
最常见的两个错误点:
stack level too deep (SystemStackError)
./features/step_definitions/login.rb:40:in `/^I enter username "([^"]*)"$/'
features/01_login.feature:30:in `When I enter username "John"'
stack level too deep (SystemStackError)
./features/step_definitions/login.rb:23:in `/^I press select env$/'
features/01_login.feature:26:in `Then I press select env'
运行我的测试,第一个错误将弹出用户名,在成功完成此测试之前只有片刻。重置后再次运行我的测试会引发第二个错误,这更加奇怪,因为测试需要通过这一点运行,甚至到达我们在第一次运行时达到的用户名。这个顺序并不一致。有时它只会在一件或另一件上出错,从而难以追踪。
这两个错误的代码。
When (/^I enter username "([^"]*)"$/) do | username |
enter_text "UITextFieldLabel text:'Username'", "John"
end
Then (/^I press select env$/) do
touch "label text:'Select Env'"
end
【问题讨论】:
标签: ios cucumber calabash stack-level