Concordion 以绿色打印可变字符串
Concordion print a variable string in green
在我的 java class 中,我定义了一个字符串数组,我可以获得其中任何一个提供其索引的字符串:
<span c:execute="#errStr=#page.getDictionaryString(2)"/>
所以#errStr 包含我的字符串
在测试中我收到了要验证的字符串,在另一个 var (#str)
<span c:execute="#str = #e.get()"/>
现在,如果它们相同,我可以得到一个绿色"true":
<span c:assertTrue="#str.equals(#errStr)">true</span>
无论如何 "true" 在读取输出时增加的值较少,我想在那里(绿色)读取 #str 的值(或相同的 #errStr)。
可能吗?
如果这不可能,是否可以至少使用正常颜色的 #str 值,以便我在其附近添加绿色 "true"?
此用例不受开箱即用的支持,因为 Concordion 鼓励您在规范中定义预期值,而不是动态派生值。如果可能,您应该将期望值移到规范中。
如果这不可能,您可以通过使用 Concordion 扩展来编写一个自定义命令,它完全符合您的要求。
或者以下将为您提供一个近似值:
<span c:assertTrue="#str.equals(#errStr)"><span c:echo="#str"/></span>
echo
命令将表达式的值输出到规范。这将打印 #str
的值,并将输出着色为绿色。失败时,#str
的值将变为红色和删除线,并在其旁边打印 =false
(这是自定义命令改进输出的地方)。
在我的 java class 中,我定义了一个字符串数组,我可以获得其中任何一个提供其索引的字符串:
<span c:execute="#errStr=#page.getDictionaryString(2)"/>
所以#errStr 包含我的字符串
在测试中我收到了要验证的字符串,在另一个 var (#str)
<span c:execute="#str = #e.get()"/>
现在,如果它们相同,我可以得到一个绿色"true":
<span c:assertTrue="#str.equals(#errStr)">true</span>
无论如何 "true" 在读取输出时增加的值较少,我想在那里(绿色)读取 #str 的值(或相同的 #errStr)。
可能吗?
如果这不可能,是否可以至少使用正常颜色的 #str 值,以便我在其附近添加绿色 "true"?
此用例不受开箱即用的支持,因为 Concordion 鼓励您在规范中定义预期值,而不是动态派生值。如果可能,您应该将期望值移到规范中。
如果这不可能,您可以通过使用 Concordion 扩展来编写一个自定义命令,它完全符合您的要求。
或者以下将为您提供一个近似值:
<span c:assertTrue="#str.equals(#errStr)"><span c:echo="#str"/></span>
echo
命令将表达式的值输出到规范。这将打印 #str
的值,并将输出着色为绿色。失败时,#str
的值将变为红色和删除线,并在其旁边打印 =false
(这是自定义命令改进输出的地方)。