2014-09-04 4 views
2

Je ne suis pas en mesure de comprendre moqueur partiel dans groovy en utilisant gmock. J'ai le code suivant:Faux partiel utilisant groovy gmock v 0.8

class Foo { 
    Integer val 
    Foo() { 
     this.val = 4; 
    } 

    Integer printHello() { 
     return getValue() 
    } 

    Integer getValue() { 
     return val+1; 
    } 
} 

et testcase:

class FooTester { 
    @Test 
    void test() { 
     def lol = new Foo(4) 
     def mocker = mock(lol) 
     mocker.getValue().returns(5) 

     play { 
     assertEquals(5, lol.printHello()) 
     } 
    } 
} 

Je me réfère à la documentation here. L'assertion échoue avec java.lang.AssertionError: l'attente ne correspond pas à vérifier:

Quel est le problème?

+0

Qu'advient-il si vous vous moquez comme 'mocker.value.returns (5)', en utilisant la syntaxe de propriété au lieu de la syntaxe de la méthode? – BalRog

Répondre

0

Après vérification rapide de la documentation, je pense que cela devrait fonctionner:

class FooTester { 
    @Test 
    void test() { 
     def lol = new Foo(4) 
     mock(lol).value.returns(5) 

     play { 
     assertEquals(5, lol.printHello()) 
     } 
    } 
}