【发布时间】:2018-06-29 04:18:50
【问题描述】:
我在开发这个项目时正在学习 Groovy,所以我不确定自己的基础。
我有这样的断言:
assertThat( spyCH.getLoopCount() ).isEqualTo( 1 )
没有显式方法getLoopCount(),但CH类中有一个实例变量loopCount。 Groovy 会自动创建 getter 和 setter。
我声明了 CH 实例变量 loopCount 就像这样
def loopCount // i.e. "type undefined" (as yet)
实际上这达到了 11 的值。我得到了以下失败:
org.junit.ComparisonFailure: expected:<1[]> but was:<1[1]>
显然,结果被解释为字符串。然后我将实例变量更改为
int loopCount
...但我仍然得到相同的字符串比较
然后我将测试行改为:
assertThat( (int)spyCH.getLoopCount() ).isEqualTo( (int)1 )
...但我仍然得到相同的失败线。
有没有人知道如何强制 AssertJ 在 Groovy 中进行 int/Integer 比较? (注意它们在 Groovy 中是相同的:它没有原始值)。
【问题讨论】: