簡體   English   中英

Robolectric PowerMock運行測試時出現java.lang.NoClassDefFoundError錯誤

[英]Robolectric PowerMock java.lang.NoClassDefFoundError error while running a test

我想集成powermock來測試Firebase邏輯。 我試圖運行測試並得到以下信息: java.lang.NoClassDefFoundError: org/mockito/cglib/proxy/MethodInterceptor

這是我的app.gradle:

testCompile 'junit:junit:4.12'
    testCompile "org.powermock:powermock-module-junit4:1.7.0"
    testCompile "org.powermock:powermock-module-junit4-rule:1.7.0"
    testCompile "org.powermock:powermock-api-mockito:1.7.0"
    testCompile "org.powermock:powermock-classloading-xstream:1.7.0"
    testCompile "org.robolectric:robolectric:3.4.2"
    testCompile 'org.mockito:mockito-core:2.1.0'

這是我的測試:

@RunWith(RobolectricTestRunner.class)
@Config(constants = BuildConfig.class)
@PowerMockIgnore({ "org.mockito.*", "org.robolectric.*", "android.*" })
@PrepareForTest({FirebaseAuth.class, FirebaseDatabase.class})
public class LoginTest {

    @Before
    public void setUp() {
        PowerMockito.mockStatic(FirebaseAuth.class);
        Mockito.when(FirebaseAuth.getInstance()).thenReturn(Mockito.mock(FirebaseAuth.class));
    }

    @Test
    public void test() {

    }
}

您正在將'org.mockito:mockito-core:2.1.0'"org.powermock:powermock-api-mockito:1.7.0"

要將PowerMock與Mockito 2一起使用,應使用"org.powermock:powermock-api-mockito2:1.7.0"

您需要在類路徑中使用cglib庫。

我的解決方案是始終從此處下載“完整的” powermock ZIP。 這些ZIP文件包含使用PowerMock所需的一切

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM