我创建了一个新的 Android 测试项目。我从https://code.google.com/p/powermock/downloads/list下载了 powermock-mockito-junit-1-1.5.zip 。我将所有库添加到测试项目的libs
文件夹中。测试类是一个非常简单的对象:
package com.test.test;
import org.junit.runner.RunWith;
import org.powermock.modules.junit4.PowerMockRunner;
import android.util.Log;
@RunWith(PowerMockRunner.class)
public class TestTestAndroid {
public void testRuns() {
Log.e("test", "Test case is called");
}
}
然后,我尝试从 Eclipse 运行项目,或者从命令行创建项目。我犯了同样的错误:
Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lorg/hamcrest/Description;
事实证明,两者junit-4.8.2.jar
和mockito-all-1.9.5.jar
定义org.hamcrest.Description
. 出于显而易见的原因,我必须包含 Mockito jar - 我需要 Mockito。Android 提供了不同版本的 JUnit,但它是不包含@RunWith
注解的旧版本。
有人可以回答如何在 Android 项目中使用 powermock 和 mockito,而不会出现冲突的org.hamcrest.Description
问题吗?