1
我嘗試使用高線測試和阿魯巴寶石來剔除標準輸出,但仍然停止我的黃瓜測試並要求用戶輸入。使用Cucumber測試此類應用程序是否有最佳做法?如何使用Highline測試Cucumber用戶輸入和輸出?
我嘗試使用高線測試和阿魯巴寶石來剔除標準輸出,但仍然停止我的黃瓜測試並要求用戶輸入。使用Cucumber測試此類應用程序是否有最佳做法?如何使用Highline測試Cucumber用戶輸入和輸出?
Aruba給了我解決方案。 首先,我的錯誤是在不檢查if __FILE__ == $0
的情況下創建應用程序根類的新實例。
最後它看起來像這樣:
dashboard.feature:
Feature: Manage app with dashboard
As an app user
In order to control application
I want to have a dashboard
Scenario: View dashboard
When I run `../../lib/reporter.rb` interactively
Then I should see following choices
| 1 | Choice 1 |
| 2 | Choice 2 |
| 3 | Choice 3 |
steps.rb:
Then(/^I should see following choices$/) do |table|
menu = ''
table.rows_hash.each do |key, value|
menu << "#{key}. #{value}\n"
end
Timeout::timeout(exit_timeout) do
loop do
break if assert_partial_output_interactive(menu)
sleep 0.1
end
end
end