2016-07-11 35 views
-4

如何模擬這個?如何模擬番石榴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的一個未歸檔的複製/粘貼,甚至不適用於匹配問題。向下投票。 –