Concordion以绿色打印变量字符串

时间:2016-04-01 17:38:32

标签: concordion

在我的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;靠近它?

1 个答案:

答案 0 :(得分:1)

此用例不支持开箱即用,因为Concordion鼓励您在规范中定义期望值,而不是动态地导出值。如果可能,您应该将期望值移动到规范中。

如果无法做到这一点,您可以通过使用完全符合您要求的Concordion扩展来编写自定义命令。

或者以下内容将为您提供近似值:

<span c:assertTrue="#str.equals(#errStr)"><span c:echo="#str"/></span>

echo命令将表达式的值输出到规范。这将打印#str的值,并将输出颜色设置为绿色。如果失败,#str的值将为红色并且突破,并在其旁边打印=false(这是自定义命令将改善输出的位置)。