考虑这一点,执行中的eval()的toString() - Groovy的(在GString的方法调用)
$RespNode
值
RespJson.seatbid[0].bid[0].price
我试图运行
Eval.me('RespJson', RespJson, "assert $RespNode.toString() == '$aValue'")
但出错
当我运行这个(直接,如果没有的eval())
assert RespJson.seatbid[0].bid[0].price.toString()==aValue
运行良好(无差错)
以下也能正常工作(不包括的toString())
Eval.me('RespJson', RespJson, "assert $RespNode == '$aValue'")
任何想法,如何运行toString()
与谢谢!
谢谢。大括号它工作正常。 'Eval.me('RespJson',RespJson,“assert $ {RespNode} .toString()=='$ aValue'”)'。但是,我们如何知道我们必须使用Gstring'$ {RespNode}'而不是'$ RespNode'? – user1207289 2014-10-08 16:48:24
@ user1207289'$ RespNode' ist非常好!除非你进一步深入了解某些事情,那可以进行评估。例如'“这是$的时间点”'没关系。但''你好$世界。我的名字是X“'最有可能不是。最好使用'$ {}'来保证安全。 – cfrick 2014-10-08 16:50:28
@cfrick谢谢! – user1207289 2014-10-08 16:57:28