在我的java类中,我已经定义了一个字符串数组,我可以让它们中的任何一个提供它的索引:
<span c:execute="#errStr=#page.getDictionaryString(2)"/>
所以#errStr包含我的字符串
在测试中我收到要验证的字符串,在另一个var(#str)
中 <span c:execute="#str = #e.get()"/>
现在,我可以拥有一个绿色的&#34; true&#34;如果它们是相同的:
<span c:assertTrue="#str.equals(#errStr)">true</span>
无论如何&#34; true&#34;在阅读输出时增加的价值较小,我想在那里(绿色)读取#str(或#errStr相同)的值。
有可能吗?
如果不可能,那么至少可以使#str的值为正常颜色,这样我就可以添加绿色&#34; true&#34;靠近它?
答案 0 :(得分:1)
此用例不支持开箱即用,因为Concordion鼓励您在规范中定义期望值,而不是动态地导出值。如果可能,您应该将期望值移动到规范中。
如果无法做到这一点,您可以通过使用完全符合您要求的Concordion扩展来编写自定义命令。
或者以下内容将为您提供近似值:
<span c:assertTrue="#str.equals(#errStr)"><span c:echo="#str"/></span>
echo
命令将表达式的值输出到规范。这将打印#str
的值,并将输出颜色设置为绿色。如果失败,#str
的值将为红色并且突破,并在其旁边打印=false
(这是自定义命令将改善输出的位置)。