From d039b9bd7853284142a93c32256b6e2a20d8810e Mon Sep 17 00:00:00 2001 From: Kris De Volder Date: Fri, 9 Feb 2018 18:03:01 -0800 Subject: [PATCH] Improved error message for failed test --- .../commons/boot/app/cli/SpringBootAppTest.java | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/headless-services/commons/commons-boot-app-cli/src/test/java/org/springframework/ide/vscode/commons/boot/app/cli/SpringBootAppTest.java b/headless-services/commons/commons-boot-app-cli/src/test/java/org/springframework/ide/vscode/commons/boot/app/cli/SpringBootAppTest.java index 04a0461b0..fa465e5d6 100644 --- a/headless-services/commons/commons-boot-app-cli/src/test/java/org/springframework/ide/vscode/commons/boot/app/cli/SpringBootAppTest.java +++ b/headless-services/commons/commons-boot-app-cli/src/test/java/org/springframework/ide/vscode/commons/boot/app/cli/SpringBootAppTest.java @@ -20,6 +20,7 @@ import java.time.Duration; import java.util.Arrays; import java.util.Collection; import java.util.List; +import java.util.NoSuchElementException; import java.util.Optional; import java.util.stream.Collectors; @@ -89,7 +90,18 @@ public class SpringBootAppTest { private SpringBootApp getAppContaining(String nameFragment) { try { - return SpringBootApp.getAllRunningJavaApps().stream().filter(app -> app.getProcessName().contains(nameFragment)).findAny().get(); + Collection allApps = SpringBootApp.getAllRunningJavaApps(); + try { + return allApps.stream().filter(app -> app.getProcessName().contains(nameFragment)).findAny().get(); + } catch (NoSuchElementException e) { + //Improve error message for debugging... + StringBuilder foundAppNames = new StringBuilder(); + for (SpringBootApp app : allApps) { + foundAppNames.append("\n"); + foundAppNames.append(app.getProcessName()); + } + throw new NoSuchElementException("getAppContaining("+nameFragment+") in "+foundAppNames); + } } catch (Exception e) { throw ExceptionUtil.unchecked(e); }