我有一個AbstractDao類,我正在實例化Rest Fore API。我無法在Power Mock中模擬新的強制API(config)。請建議。模擬抽象類中的新對象實例
public abstract class AbstractDao {
@Inject
private Configuration configuration;
public ForceApi getForceAPI() {
ApiConfig config = new ApiConfig();
config.setClientId("test");
config.setClientSecret("test");
config.setUsername("test");
config.setPassword("test");
config.setLoginEndpoint("test");
return new ForceApi(config);
}
}
我想以這種方式做,但它不工作。 我DAO類擴展抽象DAO類
@RunWith(BlockJUnit4ClassRunner.class)
public class SalesForceDaoImplTest {
@InjectMocks
private SalesForceDaoImpl salesForceDao;
@Mock
private ForceApi forceApiMock;
@Mock
private ApiConfig apiConfigMock;
@Mock
private Configuration configMock;
@Mock
JsonObject jsonobject;
@Before
public void setup() {
initMocks(this);
when(configMock.getAppConfiguration()).thenReturn(jsonobject);
when(jsonobject.getString(anyString())).thenReturn("test");
when(salesForceDao.getForceAPI()).thenReturn(forceApiMock);
when(new ApiConfig()).thenReturn(apiConfigMock);
when(new ForceApi(apiConfigMock)).thenReturn(forceApiMock);
}
是什麼意思,它不工作?你能更具體一點嗎? – Rufi
你可以看看[這個問題](https://stackoverflow.com/questions/26320127/how-to-mock-objects-created-inside-method/26323140#26323140)。有一個如何用'PowerMockito'來模擬構造函數的例子 – troig