1
하이 라인 테스트 및 아루바 보석을 사용하여 STDOUT을 스터 빙하는 것과 같은 몇 가지 방법을 시도하지만 여전히 오이 테스트를 중단하고 사용자 입력을 요구합니다. Cucumber와 같은 응용 프로그램을 테스트하는 모범 사례가 있습니까?오이 사용자 입력과 출력을 하이 라인으로 테스트하려면 어떻게해야합니까?
하이 라인 테스트 및 아루바 보석을 사용하여 STDOUT을 스터 빙하는 것과 같은 몇 가지 방법을 시도하지만 여전히 오이 테스트를 중단하고 사용자 입력을 요구합니다. Cucumber와 같은 응용 프로그램을 테스트하는 모범 사례가 있습니까?오이 사용자 입력과 출력을 하이 라인으로 테스트하려면 어떻게해야합니까?
아루바가 해결책을 제시합니다. 우선, 내 실수는 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