I am currently writing unit testcase for a groovy application
class StorePage{
..
..
str1 = obj.getDateBasedOnValue("A");
str2 = obj.getDateBasedOnValue("B");
}
Test class
classStorePageSpec extends Specification{
Obj obj = Mock(Obj)
...
def "testCase 1"(){
obj.getDateBasedOnValue(_) >> "some date string 1"
obj.getDateBasedOnValue(_) >> "some date string 2"
}
}
Can someone tell me if this is the right way to mock both the calls in spock? If no then please guide me towards the right solution.
To return different values on successive invocations, use the triple-right-shift (>>>) operator:
def "testCase 1"(){
obj.getDateBasedOnValue(_) >>> ["some date string 1", "some date string 2"]
}
Then getDateBasedOnValue()
will return "some date string 1"
for the first time and "some date string 2"
for the second time.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With