spring - 如何在单元测试中解析包含属性的 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();
解决方案
但我得到错误,
在提出这样的问题时,您通常应该显示实际错误。
尝试
'${security.exclude.disable:false}'.toLowerCase() == 'true'
等等。或者
Boolean.parseBoolean('${security.exclude.disable:false}')
推荐阅读
- getstream-io - 预检响应中的 Access-Control-Allow-Headers 不允许请求标头字段资源
- powerbi - Power bI 多表折线图
- assembly - 装配中的 BEQ 不分支
- c# - 无法在 Inspect.exe 中获取元素的值
- c# - 无法列出从 SQL 到 MVC 视图的表
- php - bootstrap 4表单返回值问题
- python - 使用 Pyramid 为 URL Shortener 添加路由
- python - 计算数据框中的特定值
- html - 如何使用 CSS 制作一个非常长的文本换行以将其保存在表 td 中
- typescript - 如何将图像直接发送到 WhatsApp 状态?使用离子