2016-07-11 13 views
-4

これをモックする方法は?Guavaを模擬する方法Maps.newConcurrentMap()

public class MyClass { 

} 
+2

そして、なぜあなたは、このようなクラスをモックでしょうか? –

+0

少なくともJavaでは静的メソッドをモックすることはできません。 –

+0

@ArthurEirichはい、できます。 [PowerMock](https://github.com/jayway/powermock/wiki/MockStatic)。 –

答えて

2

使用dependency injection

public class MyClass { 
    private Map<String, MyClassModel> list; // Don't initialize. 

    public MyClass(Map<String, MyClassModel> list) { // Inject to ctor. 
    this.list = list; 
    } 
} 
-2
long expectedId = 42; 

ServiceRegistartor tested = new ServiceRegistartor(); 

mockStatic(IdGenerator.class); 

expect(IdGenerator.generateNewId()).andReturn(expectedId); 

replay(IdGenerator.class); 

long actualId = tested.registerService(new Object()); 

verify(IdGenerator.class); 

assertEquals(expectedId, actualId); 
+1

それはどのような(自己)答えですか? PowerMock wikiの無記名コピー/ペーストであり、質問にマッチすることさえできません。ダウン投票。 –