При смене версии mockito-core
возникает странная ошибка.Мой код:
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.powermock.api.mockito.PowerMockito;
import org.powermock.core.classloader.annotations.PrepareForTest;
import org.powermock.modules.junit4.PowerMockRunner;
import org.powermock.reflect.Whitebox;
import static org.mockito.Mockito.validateMockitoUsage;
import static org.powermock.api.mockito.PowerMockito.doNothing;
import static org.powermock.api.mockito.PowerMockito.doReturn;
import static org.powermock.api.mockito.PowerMockito.mock;
import static org.powermock.api.mockito.PowerMockito.mockStatic;
import static org.powermock.api.mockito.PowerMockito.verifyPrivate;
import static org.powermock.api.mockito.PowerMockito.when;
import static org.powermock.api.support.membermodification.MemberMatcher.method;
@RunWith(PowerMockRunner.class)
@PrepareForTest(value = App.class)
public class TestClass {
@Before
public void setup() {
mockStatic(App.class);
when(App.getInstance()).thenReturn(mock(App.class));
}
// tests
}
Перемешивание App.getInstance()
отлично работает, когда я использую
testImplementation group:'org.mockito',name:'mockito-core',version:'2.23.0'
Но при переходе на последнюю версию
testImplementation group: 'org.mockito', name: 'mockito-core', version: '2.28.2'
выдает ошибку
org.mockito.exceptions.misusing.NotAMockException: Argument should be a mock, but is: class java.lang.Class
В сети when(App.getInstance()).thenReturn(mock(App.class));
Моя часть build.gradle mockito:
testImplementation group: 'org.mockito', name: 'mockito-core', version: '2.28.2'
testImplementation group: 'org.powermock', name: 'powermock-module-junit4', version: '2.0.2'
testImplementation group: 'org.powermock', name: 'powermock-api-mockito2', version: '2.0.2'
Может кто-нибудь дать какие-либо идеи, почему изменение mockito-core
вызывает эту проблему