我有一个 junit 测试,它需要用户确认先决条件状态,因此在测试进行之前会提示用户。这是用于涉及无法模拟的外部系统的集成测试。这在通过 Eclipse IDE 运行测试时工作正常,但不能通过 Gradle 运行。
我知道这是因为 Gradle 设置了一个空的标准输入。这可以根据以下问题针对运行目标解决:带有 Java 和 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();
}
Run Code Online (Sandbox Code Playgroud)
上面的代码在通过 Gradle 运行时将抛出 java.util.NoSuchElementException ,因为没有要读取的输入。
| 归档时间: |
|
| 查看次数: |
190 次 |
| 最近记录: |