Как протестировать интерактивное Java-приложение с использованием огурца и Арубы
У меня есть сценарий "Огурец / Аруба":
Scenario: Simple echo
Given I run `java -cp /bin Echo` interactively
When I type "something\n"
Then the output should contain "something"
Чтобы проверить эту простую Java-программу:
import java.util.*;
class Echo {
public static void main(String[] args) {
Scanner stdin = new Scanner(System.in);
System.out.println(stdin.next());
}
}
Когда я запускаю тест, он не проходит, и я получаю следующую ошибку:
Then the output should contain "something"
expected "" to include "something" (RSpec::Expectations::ExpectationNotMetError)
features/cli.feature:15:in `Then the output should contain "something"'
Когда я пробую тот же тест с этой программой ruby:
puts gets
все зелёное ...
Я что-то здесь не так делаю?
Нужно ли использовать другой метод для чтения со стандартного ввода? System.in используется только для клавиатуры?