我认为instruementTest中的测试应该与android有关,所以我需要添加一个addtional源文件夹,比如src / test / java吗? 它看起来src / test / java中的testfile没有编译。
我如何独立运行junit测试?
我怎样才能在命令行中运行junit测试,没有关于android的instrumentTest?
或 put和junit test在instruementTest文件夹中调用
./gradlew connectedInstrumentTest
但是,单元测试根本不会运行。
答案 0 :(得分:2)
如果你在build.gradle中只有Android插件,我认为这是不可能的。 Android插件中唯一支持的测试是在InstrumentTest文件夹中。普通测试文件夹仅供其他插件使用。
除此之外,Android Studio本身可能还需要支持。但不确定。
答案 1 :(得分:0)
首先,您应该构建适当的文件夹结构,以匹配Gradle期望的默认结构。在你的gradle.build里面的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赶上来。
答案 2 :(得分:0)
在“项目”视图中右键单击测试文件。选择运行...
不要忘记,测试和测试类的目录结构必须适合。你的看起来很可疑。 Here是如何轻松完成的。