相关疑难解决方法(0)

Android Studio单元测试:读取数据(输入)文件

在单元测试中,如何在我的(桌面)文件系统上读取json文件中的数据,而无需对路径进行硬编码?

我想从文件中读取测试输入(对于我的解析方法),而不是创建静态字符串.

该文件与我的单元测试代码位于同一位置,但如果需要,我也可以将其放在项目的其他位置.我正在使用Android Studio.

android unit-testing android-studio

90
推荐指数
8
解决办法
4万
查看次数

Android单元测试用例自动化:Robolectric库与Android测试框架

想知道哪个是为Android应用程序和库编写单元测试用例的更好选择:使用Robolectric库或坚持使用Android测试框架.我想在命令行运行测试套件,并希望它独立于配置模拟器或让设备连接到构建机器的需要.你们有没有人对这两者或其他更好的事情进行比较分析?您的经验将很有助于我决定更好的解决方案.

junit continuous-integration android unit-testing robolectric

47
推荐指数
2
解决办法
1万
查看次数

Android单元测试的最佳实践?

我正在开发一个移动Android应用程序.用于Android单元测试的最常见的库/框架是什么?我觉得大多数业务逻辑,数据库测试,Web服务测试都可以使用JUnit完成.

但是,测试UI,UI工作流等的最佳方法是什么?例如,我们如何测试Android应用程序是否成功启动了Web浏览器?或者我们如何确认按钮,某些事情是否成功按下?或者如果图像加载成功?

junit android unit-testing android-activity android-testing

17
推荐指数
2
解决办法
5662
查看次数

编写Gradle脚本以运行Eclipse Android Test项目的单元测试用例

我有一个简单的HelloWorld Android项目(内置在Eclipse IDE中),我能够在cmd提示符下为此项目成功执行"gradle build".

我也为它编写了一个简单的JUnit Android测试项目,它在Eclipse中运行良好.

现在我想使用Gradle脚本运行此测试项目或单元测试用例(如果我的理解是错误的!).我怎么做?

以下是我正在使用的build.gradle文件.我想知道如何编写脚本代码来自动执行测试用例.

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.10.+'
    }
}
apply plugin: 'android'

dependencies {
    compile fileTree(dir: 'libs', include: '*.jar')
}

android {
    compileSdkVersion 19
    buildToolsVersion "19.0.3"

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

        // Move the tests to tests/java, tests/res, etc...
        instrumentTest.setRoot('tests') …
Run Code Online (Sandbox Code Playgroud)

eclipse android gradle

8
推荐指数
1
解决办法
1871
查看次数

使用gradle构建系统创建测试Android apk

我正在将我的android项目迁移到gradle构建系统,我无法从我的Integration Test Android项目中导入我的Android项目.

我正在使用具有多个android-libraries的多项目配置,并且它工作得很好,但是我在使用多项目设置设置我的测试项目时遇到了问题.出于外部原因,我需要继续使用此结构.

MyProject/
 | settings.gradle
 + MyApp/
    | build.gradle
    | src
    | res
    | libs
 + Instrumentation-Tests/
    | build.gradle
    | src
    | res
    | libs
Run Code Online (Sandbox Code Playgroud)

我当前的配置文件如下所示:

settings.gradle:

include ':MyApp', 'Instrumentation-Tests'
Run Code Online (Sandbox Code Playgroud)

MyAppp /的build.gradle:

apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
    compile files('.....jar')
    compile project('....')
    compile 'com.android.support:support-v4:13.0.+'
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 11
        targetSdkVersion 16
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = …
Run Code Online (Sandbox Code Playgroud)

android gradle robotium android-studio build.gradle

7
推荐指数
1
解决办法
2663
查看次数

没有错误Android Studio说"没有找到测试"

我正在尝试为我的MainActivity编写一个检测测试.我按照这里给出的答案.Android Studio仍无法找到任何测试.我在androidTest文件夹中有ApplicationTest.java类.这是班级的内容:

package com.example.monicamarcus.mymusicplayer

import android.app.Activity;
import android.test.ActivityInstrumentationTestCase2;
import com.example.monicamarcus.mymusicplayer.MainActivity;

public class ApplicationTest extends ActivityInstrumentationTestCase2<MainActivity> { 
    public ApplicationTest() {
        super(MainActivity.class);
    }

    public void testNextTrackButton() throws Exception {
        Activity activity = getActivity();

        Button nextButton = (Button) activity.findViewById(R.id.nextTrackBt);
        activity.runOnUiThread(new Runnable() {
            @Override
            public void run() {
                nextButton.performClick();
                assertTrue(currentPosition < songList.size());
            }});
        activity.finish();
    }
}
Run Code Online (Sandbox Code Playgroud)

这个测试类出了什么问题?还是测试?我没有得到任何错误,它只是没有找到任何测试运行.运行ApplicationTest后,输出以以下行结束:

Running tests
Test running startedFinish
Empty test suite.
Run Code Online (Sandbox Code Playgroud)

这是app的build.gradle文件:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.example.monicamarcus.mymusicplayer"
        minSdkVersion 16
        targetSdkVersion …
Run Code Online (Sandbox Code Playgroud)

java testing android android-studio android-instrumentation

7
推荐指数
1
解决办法
5009
查看次数

基于Robotium gradle的Android Studio

我很难让Robotium在基于gradle的Android Studio上工作,我找不到使用gradle CLI运行测试的方法.我将robotium.jar"robotium-solo-5.4.1.jar"放入libs文件夹,添加为库.在src文件夹中,我为测试源创建了另一个文件夹androidTest-> java-> package,其名称与app的包名称相同 - > Test.java"java"(在"androidTest"内部)是绿色.

UI:像往常一样使用Android Studio Run菜单 - 工作.

console:在终端输入以下命令:gradlew connectedAndroidTest = not working.我也试过"gradlew test",测试结果在build/test-report中生成,但是它们表明没有找到测试.

我想在没有连接设备的情况下使用gradle CLI运行Robotium测试,因为我想在CircleCI中的Android模拟器中运行测试.

我的build.gradle/test文件有问题,还是有遗漏的东西?

我真的很感激任何帮助!

*****这是我的build.gradle文件

apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"

    dexOptions {
//        jumboMode true
        javaMaxHeapSize "2g"
    }

    defaultConfig {
        applicationId 'net.example'
        minSdkVersion 14
        targetSdkVersion 22
        versionName '2.8.1'
        versionCode 2801
        multiDexEnabled true
    }
    buildTypes {
        debug{
            debuggable true
            jniDebuggable true
        }
        release {
            debuggable false
            jniDebuggable false
            minifyEnabled true
            proguardFiles 'proguard-coda.txt', 'proguard-rules.pro'
        }
    } …
Run Code Online (Sandbox Code Playgroud)

gradle robotium circleci gradlew android-studio

5
推荐指数
0
解决办法
736
查看次数