groovy-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Paolo Di Tommaso <>
Subject Spying a DataflowVariable
Date Tue, 01 Aug 2017 11:44:23 GMT
Hi all,

I've having a problem testing a DataflowVariable with a Spock test.

Consider the following test case:

    class Lazy {

        def bar(final x) {
            return x

        def foo() {
            def closure = { bar('Hello') }
            new LazyDataflowVariable(closure) .getVal()

I want to check that the `bar` method is invoked exactly one time by the
LazyDataflowVariable when the method `foo` is called. The test I'm using is
the following:

    class LazyTest extends Spefication {

        def 'should invoke bar method' () {
            def lazy = Spy(Lazy)
            def result =
            1 *'Hello') >> 'Hello'
            result == 'Hello'

However what happens is that is just hangs, because it seems that the
dataflow variable never invokes the initialisation closure.

Any idea what is wrong? or any workaround ?

View raw message