“解决方法”。。。对于那些通常从Java迁移到Groovy的人来说。
为了学习Groovy,我实际上在读一本书,
Groovy在运行,第二版
,作者之一
JON SKEET
!
我现在谈到了关于测试的部分,它是设计到语言中的,并且利用了Groovy的一些惊人功能。
Groovy的Spock测试框架似乎是一条出路。。。还有嘲笑
final
事实证明,使用
GroovyMock
. 我能够编写一个测试来完成这项工作:
class XXX extends Specification {
@Rule
public TextFromStandardInputStream systemInMock = emptyStandardInputStream()
def xxx(){
given:
FileChooser fc = GroovyMock( FileChooser )
ConsoleHandler ch = Spy( ConsoleHandler ){
getFileChooser() >> fc
}
ch.setMaxLoopCount 10
systemInMock.provideLines( "o" )
when:
com.sun.javafx.application.PlatformImpl.startup( {} )
ch.loop()
Thread.sleep( 2000L )
then:
1 * fc.showOpenDialog( _ )
}
}
... 如果有一些很棒的
ü伯明德
(乔恩,你在吗?)可以找出Mockito为什么生产这个
UnfinishedStubbingException
在Groovy中。
注意,您似乎无法使用
GroovyMock公司
在Mockito测试中隔离。。。它似乎是斯波克框架的一部分。