我看到我不是唯一有这个问题的人,但是我没有找到正确的答案.
我有一个我想要测试的 Android项目.我为我的项目的每个类创建一个junit测试类.
我的问题是当我运行我的测试,我有以下错误:
我有一个我想要测试的 Android项目.我为我的项目的每个类创建一个junit测试类.
我的问题是当我运行我的测试,我有以下错误:
java.lang.NoClassDefFoundError: android/content/Context
这是我的班级考试:
public class DevicesBDDTest extends TestCase { DevicesBDD bdd; /** * @throws java.lang.Exception */ protected static void setUpBeforeClass() throws Exception { } /** * @throws java.lang.Exception */ protected static void tearDownAfterClass() throws Exception { } protected void setUp() throws Exception { super.setUp(); Context ctx = mock(Context.class); final MaBasesqliteInterface mockMaBasesqlite = mock(MaBasesqliteInterface.class); bdd = new DevicesBDD(ctx){ @Override public MaBasesqliteInterface createMaBasesqlite(Context context) { return mockMaBasesqlite; } }; } protected void tearDown() throws Exception { super.tearDown(); } public void test() { assertEquals(1,1); } }
我的类DeviceBDD需要一个对象上下文,因此我创建一个模拟(与mockito).我也试过一个对象MockContext,但它不工作.
这是我的Java构建路径:
> mockito-all-1.9.5.jar
> Android 2.1
– >的android.jar
> Android依赖关系
– > annotations.jar
> Junit 3
– >的junit.jar
解决方法
不知道如果我有同样的问题,但我正在使用毕业生,由于某些原因,测试不再运行,与您有同样的错误.我尝试清洁和重建,但没有效果.经过几个小时的挫折,并试图找到一个答案,我在GitHub线程中遇到了简单的解决方案:
I resolved this issue by removing the .gradle folder in my project and rebuilding the project.
(感谢vpetrov)