首页 > 解决方案 > 如何在单元测试中解析包含属性的 SpEl 方程?

问题描述

我想使用 SpEl 解析器来评估单元测试中的表达式。

我有这个冗长的表达

(!(${security.exclude.disable:false} && ${security.exclude.disable:true}) && (!${security.exclude.swagger.disable:false} && ${security.exclude.swagger.disable:true})) || !(${security.exclude.swagger.disable:false} && ${security.exclude.swagger.disable:true})

我想编写一个单元测试,我可以传入不同的属性值并验证这个表达式。

这就是我一直在做的事情,但是我得到了错误,而且我看不到如何传递不同的属性。

ExpressionParser parser = new SpelExpressionParser();
Expression exp = parser.parseExpression(expression);
String message = (String) exp.getValue();

标签: springunit-testingspring-el

解决方案


但我得到错误,

在提出这样的问题时,您通常应该显示实际错误。

尝试

'${security.exclude.disable:false}'.toLowerCase() == 'true'

等等。或者

Boolean.parseBoolean('${security.exclude.disable:false}')

推荐阅读