我已经在IntelliJ 13中成功创建了一个Android项目,我想设置Android测试框架。我使用新项目向导使用Gradle创建android项目。当我去添加一个新模块时,我只能选择" Gradle:Android Module"和#34; Gradle:Java Library","测试模块"选项缺失。
如何生成Android测试模块?我看过http://www.jetbrains.com/idea/webhelp/testing-android-applications.html,但我找不到任何"测试"选项。
如果无法自动生成Android测试模块,那么如何使用Gradle Android项目配置和使用Android测试框架?非常感谢您对示例或文档的链接。
详细信息: IntelliJ 13.1.3
答案 0 :(得分:7)
所以目前你的目录结构应该是这样的:
ProjectDirectory/
res/
src/
main/
java/
your.package.name
MyClass.java
您需要做的就是为androidTest
添加一个src目录:
ProjectDirectory/
res/
src/
main/
java/
your.package.name
MyClass.java
androidTest/
java/
your.package.name
MyClassTest.java
然后将Gradle文件与项目重新同步,并将其检测为测试目录。然后,您可以运行connectedCheck
或connectedAndroidTest
任务(我不清楚两者的差异)来运行测试。
如果您的目录结构与上述目录结构不同(例如,如果您认为Eclipse项目很重要),则可以在build.gradle脚本中指定备用src目录:
android {
sourceSets {
androidTest {
java.srcDirs = ['path/to/test/src']
}
}
}
答案 1 :(得分:1)
作为替代方案您可以尝试切换到Android Studio,它建立在ItelliJ之上。如果您要创建新项目,Android Studio会自动为您创建测试目录。
答案 2 :(得分:1)
经过多次尝试,我找到了明确的好方法:
ExampleTest
会很好)将InstrumentationTestCase
扩展到此文件夹中。让我们添加一个我们知道会失败的简单测试:
public class ExampleTest extends InstrumentationTestCase {
public void test() throws Exception {
final int expected = 1;
final int reality = 5;
assertEquals(expected, reality);
}
}
请记住,所有测试方法必须以“test-”前缀开头,否则Android Studio不会将它们检测为测试,您将收到各种奇怪的错误,但没有任何方法可以正常工作。
既然我们有一个注定失败的测试用例,我们现在必须运行它。 首先点击“运行 - >编辑配置。“ 现在选择“+ - > Android测试“从左上角选择”Android测试“并命名您的新测试配置”测试“或同等相关的东西。
选择当前模块,然后选择“All in Package”选项并导航到刚刚创建的“test”文件夹。您还可以选择“All in Module”,Android Studio将自动在整个模块中找到任何测试!您还可以更具体地选择“类”甚至“方法”选项,以进一步缩小测试范围。
应用,关闭并运行此配置!测试将运行..!
此链接提供以下信息: http://rexstjohn.com/unit-testing-with-android-studio/ 它是为android studio编写的,但它也适用于intelliJ 13! ;) 玩得开心!
答案 3 :(得分:0)
我在Intellij中创建android项目时遇到了麻烦,所以现在我在Eclipse中创建项目然后将它们导入到Intellij中。它很烦人,但它很容易解决,而且很有效。