接受通过Gradle运行junit测试的用户输入

时间:2017-09-16 08:40:47

标签: java gradle junit

我有一个junit测试,要求用户确认先决条件状态,因此在测试进行之前会提示用户。这适用于涉及无法模拟的外部系统的集成测试。通过Eclipse IDE运行测试时,这可以正常工作,但不能通过Gradle运行。

我知道这是因为Gradle设置了一个空的标准输入。根据此问题,可以针对运行目标解决此问题:Console application with Java and gradle。但是,我无法找到测试目标的等效解决方案。

有没有办法通过Gradle接收junit测试运行的用户输入?

以下给出了我使用的测试类的简化版本:

@Test
public void testDigitalRead()
{
    Scanner in = new Scanner(System.in);

    out.println("Press enter to continue.");
    in.nextLine();
    // perform testing logic

    in.close();
}

上面的代码在Gradle运行时会抛出java.util.NoSuchElementException,因为没有要读取的输入。

0 个答案:

没有答案