7

我认为instrumentTest中的测试应该与android相关,所以需要我添加一个额外的源文件夹,例如src/test/java?它看起来src/test/java中的testfile没有编译。

我如何独立运行junit测试?

我怎样才能只在命令行中运行junit测试,而不是关于android的instrumentTest?

在此处输入图像描述

在此处输入图像描述

或将和junit测试放在instrumentTest文件夹中并调用

     ./gradlew connectedInstrumentTest

但是,单元测试根本不会运行。

4

3 回答 3

2

如果您的 build.gradle 中只有 Android 插件,我认为这是不可能的。Android 插件支持的唯一测试位于 InstrumentTest 文件夹中。正常的测试文件夹仅由其他插件使用。

除此之外,Android Studio 本身可能需要支持。但不确定。

于 2013-07-12T15:08:51.533 回答
0

首先,您应该构建适当的文件夹结构以匹配 Gradle 期望的默认结构。在你的 gradle.build inside android{} 部分你应该添加:

 sourceSets {
    instrumentTest.setRoot('src/instrumentTest')
}

那么您应该在您的 src/ 文件夹中创建适当的文件夹结构。现在你应该有 main/java/your/package/name/YourActivity.java 。为了让 Gradle 找到您的测试,您应该在 src/ 文件夹中创建结构以反映您的主要结构,例如:instrumentTest/java/your/package/name/YourActivityTest.java

接下来,让 Gradle 编译您的依赖项您应该在您的 gradle.build 中添加:

dependencies {
   instrumentTestCompile 'com.jayway.android.robotium:robotium-solo:4.2'
   instrumentTestCompile 'junit:junit:4.10'
}

请记住,这些是您的 buildscript{} 部分之外的依赖项。应用这些更改后,您应该能够运行 JUnit 测试以及 Robotium 测试。不要忘记点击“make”按钮几次让 Gradle 赶上。

于 2013-08-29T18:26:24.517 回答
0

右键单击项目视图中的测试文件。选择运行...

不要忘记,测试和测试类的目录结构必须适合。你的看起来很可疑。以下是如何轻松做到这一点。

于 2016-03-18T08:31:49.490 回答