2013-02-05 40 views
3

我一直試圖在Android中使用PowerMock和Mockito進行單元測試。我成功地通過Mockito嘲笑,但由於Mockito不能嘲諷靜態方法和最終類,所以我需要將PowerMock與Mockito一起使用。在Android Framework中使用Power Mock進行單元測試

但每當我使用的線路

Example ma=PowerMockito.mock(Example.class); 

這是給例外:

java.lang.ExceptionInInitializerError 
at org.mockito.internal.creation.jmock.ClassImposterizer.createProxyCla(ClassImposterizer.java:85) 
at org.mockito.internal.creation.jmock.ClassImposterizer.imposterise(ClassImposterizer.java:62) 
at org.powermock.api.mockito.internal.mockcreation.MockCreator.createMethodInvocationControl(MockCreator.java:110) 

我在做什麼錯。在此先感謝

+0

你是如何在android中使用mockito的? – smk

+0

我已經包括它的罐子。 示例a = mock(Example.class)工作正常,沒有發出任何異常 –

回答

0

此博客文章顯示,您不能僅包括mockito到一個android測試項目。 http://www.paulbutcher.com/2012/05/mockito-on-android-step-by-step/

如果您必須使用模擬框架,請按照步驟或使用類似robolectric框架。

+1

從10/12發佈的mockito 1.9.5開始,這不再是事實。你可以在android上使用mockito,但你必須包括一些額外的罐子。這裏是一個教程,從平方http://corner.squareup.com/2012/10/mockito-android.html設置它 – DallinDyer

0

您是否已將@PrepareForTest(Example.class)註釋添加到測試類的頂部?