我想做的几乎肯定是对IDE的滥用,但这似乎是有用的。我需要为少数API端点创建测试脚本。这些端点的输入通常是枚举或从枚举派生的(例如,通过串联)
要生成一组测试输入,我使用的是SQL:由一堆文字值组成的子选择的交叉联接。在某些情况下,给定枚举的这些值列表可能会很长。
我发现我可以使用'求值表达式'自动生成这些子选择:
Arrays.asList(Enum.values()).map(Enum::toString).collect(Collectors.joining(
"' UNION ALL SELECT '",
"(SELECT '",
"') as enums"));
我想知道的是,IntelliJ中是否有一种方法可以设置此对话框可访问的常量,因此我可以做类似的事情:
Arrays.asList(Enum.values()).map(Enum::toString).collect(Collectors.joining(
MYSQL_SUBSELECT_DELIM,
MYSQL_SUBSELECT_PREFIX,
MYSQL_SUBSELECT_SUFFIX);
它将使此过程更具可重复性。
这在调试会话之间是不可能的,但是在一个会话中,您可以为所需的字符串对象使用标签,然后使用name_DebugLabel
在评估对话框中引用它们:https://www.jetbrains.com/help/idea/examining-suspended-program.html#use-labels