你的问题在于Maven Surefire插件为了运行实际的测试会额外启动JVM(可能不止一个),而你输入的内容并没有传递到用于测试的JVM中。如果输入被发送到了测试JVM,那么并行测试将无法正常进行。
相比配置Maven测试基础设施以支持从stdin读取输入,可能更新你要单元测试的代码更容易。
同时请注意,像从stdin读取输入这样的“用户输入”行为使得这个测试更符合集成测试的范畴(因为它结合了系统中的两个部分进行测试)。
如果你想对此进行测试,可以将其拆分为自动部分(无需从stdin读取输入的真实单元测试)和手动测试两部分。在手动测试中,直接运行你的软件,按照测试协议输入数据,并记录下对于给定输入的结果是否满足已文档化的预期要求。