小编Thé*_*ard的帖子

Android Studio Unit测试SQLiteDataBase为null

我是单元测试的新手,我想测试我的SQLiteDataBase.

我有一个名为MySQLiteHelper的类,它扩展了SQLiteOpenHelper.我有一个名为LocationDataHandler的类,我用它来添加或删除我的DataBase中的元素.我有一个类LocationDataHandlerTest,它扩展了AndroidTestCase,以测试我的LocationDataHandler类.

我正在尝试测试我的SQLite数据库,但我似乎在所有不同的上下文之间有点迷失.

这是我的代码:

//Context context = new Activity();

//IsolatedContext context = getMockContext();

//Context context = new MockContext();

//Context context = getInstrumentation().getContext();

  Context context = getContext();

  helper = new MySQLiteHelper(context);
  assertNotNull(helper);

  SQLiteDatabase db = helper.getWritableDatabase();
  assertNotNull(db); <---- it fails here !
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,我尝试过许多不同的环境,我看到人们使用和使用它们.我真的不明白为什么它在我的情况下不起作用.

我的问题是测试在"assertNotNull(db);"行上失败了 这意味着我永远无法检索我的数据库.

我这样做是错误的吗?我没有使用正确的背景吗?

编辑:这是我的logcat:

junit.framework.AssertionFailedError
    at junit.framework.Assert.fail(Assert.java:55)
    at junit.framework.Assert.assertTrue(Assert.java:22)
    at junit.framework.Assert.assertNotNull(Assert.java:256)
    at junit.framework.Assert.assertNotNull(Assert.java:248)
    at junit.framework.TestCase.assertNotNull(TestCase.java:417)
    at com.databerries.LocationDataHandlerTest.testAddLocation(LocationDataHandlerTest.java:72)
Run Code Online (Sandbox Code Playgroud)

java sqlite android unit-testing

9
推荐指数
1
解决办法
2723
查看次数

Gradle无法解决Android Studio中的依赖项

我在Android Studio中导入了一个Phonegap项目,并将其作为基于Gradle的项目.
现在我正在尝试编译一些外部依赖项,我收到此错误:

错误:(72,13)无法解决:com.loopj.android:android-async-http:1.4.6
在"项目结构"对话框的" 文件显示"中显示

我试图通过进入File-> ProjectStructure-> Dependencies并"自动"添加它们来添加这些依赖项.Android Studio确实找到了库,并将它们添加到我的build.gradle中,但我仍然得到同样的错误......

这是我的build.gradle文件的一部分(依赖项位于底部):

import java.util.regex.Pattern

apply plugin: 'android'

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0+'
    }
}

ext.multiarch=false

android {
    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }

    defaultConfig {
        versionCode Integer.parseInt("" + getVersionCodeFromManifest() + "0")
    }

    compileSdkVersion 21
    buildToolsVersion "21.0.0"

    if (multiarch || System.env.BUILD_MULTIPLE_APKS) {
        productFlavors {
            armv7 {
                versionCode …
Run Code Online (Sandbox Code Playgroud)

android gradle android-studio

5
推荐指数
1
解决办法
5494
查看次数

标签 统计

android ×2

android-studio ×1

gradle ×1

java ×1

sqlite ×1

unit-testing ×1