I have read some post about it but nothing solved my problem. I have a class which is singleton and one method of this class is being called inside another class. I need to mock this method call.
Class SingletonClass
{
     public static SingletonClass instance()
     {
           ......
           return instance;
     }
     public boolean methodToBeMocked(Object obj)
     {
          return false;
     }
}
And the another class is :
Class A
{
      Object doSomeStuff()
      {
            ......
            boolean result = SingletonClass.instance.methodToBeMocked();
      }
}
And I am mocking the method methodToBeMocked in my test class. I have tried to use doReturn instead of thenReturn as it is suggested in other posts but it did not help.
My test class is :
Class TestClass{
     Class A a = new A();
     public void test()
     {
          SingletonClass singletonClass = mock(SingletonClass.class);
          doReturn(true).when(singletonClass).methodToBeMocked(any());
          a.doSomeStuff(); // here mocked method returns false
          // but if I do this below it returns true !!!!
          Object obj = new Object();
          boolean result = singletonClass.mockedMethod(obj);
     }
}
So why I am not getting true when a.doSomeStuff is called ? What is wrong here ?
 
     
    