Ich habe einen Code:Spock spöttische input verursacht Endlosschleife
gridFSFile.inputStream?.bytes
Wenn ich versuche, es auf diese Weise zu testen:
given:
def inputStream = Mock(InputStream)
def gridFSDBFile = Mock(GridFSDBFile)
List<Byte> byteList = "test data".bytes
...
then:
1 * gridFSDBFile.getInputStream() >> inputStream
1 * inputStream.getBytes() >> byteList
0 * _
Das Problem ist, dass inputStream.read(_)
unendlich oft genannt wird. Wenn ich die 0 * _
entfernen - der Test hängt, bis Garbage Collector stirbt.
Bitte geben Sie an, wie ich die InputStream
richtig vortäuschen kann, ohne in Endlosschleifen zu fallen, d. H. Um die obige Zeile mit 2 (oder ähnlichen) Interaktionen zu testen.
Danke! 'GroovyMock' hat funktioniert! –