Groovy 比较Spock中的空字符串时不满足条件
我试图检查两个字符串是否相等,但我正在点击。两个字符串均为空:Groovy 比较Spock中的空字符串时不满足条件,groovy,spock,Groovy,Spock,我试图检查两个字符串是否相等,但我正在点击。两个字符串均为空: Condition not satisfied: versionTagPrefix == "" | | "" false 2 differences (0% similarity) ("") (--) 我也尝试过平等: Condition not satisfied:
Condition not satisfied:
versionTagPrefix == ""
| |
"" false
2 differences (0% similarity)
("")
(--)
我也尝试过平等:
Condition not satisfied:
"".equals(versionTagPrefix)
| |
false ""
版本:
compile 'org.codehaus.groovy:groovy-all:2.0.1'
testCompile "org.spockframework:spock-core:0.7-groovy-2.0"
据我所知,groovy有许多字符串的实现。
当您在输出/错误流中看到消息时,您可能看到的是
toString()
的值,而不是对象的实际内容
要深入并调试,请对对象使用.properties
属性
例如:
1 org.codehaus.groovy.runtime.GStringImpl
2.java.lang.String
并且可以有许多实现。。。。
虽然在本例中,
s1==s2
,但您可能会遇到s1!=s2
但s1.toString()==s2.toString()
据我所知,groovy有许多字符串的实现。
当您在输出/错误流中看到消息时,您可能看到的是
toString()
的值,而不是对象的实际内容
要深入并调试,请对对象使用.properties
属性
例如:
1 org.codehaus.groovy.runtime.GStringImpl
2.java.lang.String
并且可以有许多实现。。。。
虽然在本例中,
s1==s2
,但您可能会遇到s1!=s2
但s1.toString()==s2.toString()
据我所知,groovy有许多字符串的实现。
当您在输出/错误流中看到消息时,您可能看到的是
toString()
的值,而不是对象的实际内容
要深入并调试,请对对象使用.properties
属性
例如:
1 org.codehaus.groovy.runtime.GStringImpl
2.java.lang.String
并且可以有许多实现。。。。
虽然在本例中,
s1==s2
,但您可能会遇到s1!=s2
但s1.toString()==s2.toString()
据我所知,groovy有许多字符串的实现。
当您在输出/错误流中看到消息时,您可能看到的是
toString()
的值,而不是对象的实际内容
要深入并调试,请对对象使用.properties
属性
例如:
1 org.codehaus.groovy.runtime.GStringImpl
2.java.lang.String
并且可以有许多实现。。。。
虽然在本例中,
s1==s2
,但您可能会遇到s1!=s2
但s1.toString()==s2.toString()
您确定两个字符串都是空的吗?
versionTagPrefix.bytes的输出是什么?versionTagPrefix
确实是字符串吗?versionTagPrefix是java.lang.string的实例吗?如果是spock,您可以使用!versionTagPrefix
。这里不需要比较。您确定两个字符串都是空的吗?versionTagPrefix.bytes的输出是什么?versionTagPrefix
确实是字符串吗?versionTagPrefix是java.lang.string的实例吗?如果是spock,您可以使用!versionTagPrefix
。这里不需要比较。您确定两个字符串都是空的吗?versionTagPrefix.bytes的输出是什么?versionTagPrefix
确实是字符串吗?versionTagPrefix是java.lang.string的实例吗?如果是spock,您可以使用!versionTagPrefix
。这里不需要比较。您确定两个字符串都是空的吗?versionTagPrefix.bytes的输出是什么?versionTagPrefix
确实是字符串吗?versionTagPrefix是java.lang.string的实例吗?如果是spock,您可以使用!versionTagPrefix
。这里没有必要进行比较。
groovy:000> i=10; s1="$i"; "type=${s1.class}\n
content=${s1.properties}\n
out=${s1.toString()}"
===> type=class org.codehaus.groovy.runtime.GStringImpl
content=[values:[10],
class:class org.codehaus.groovy.runtime.GStringImpl,
bytes:[49, 48], strings:[, ], valueCount:1]
out=10
groovy:000>s2="10"; "type=${s2.class}\n
contents=${s2.properties}\n
out=${s2.toString()}"
===> type=class java.lang.String
contents=[class:class java.lang.String, bytes:[49, 48], empty:false]
out=10
assert versionTagPrefix?.toString() == ""