我在Mac上使用Android Studio 1.5和Gradle 1.5(El Capitan)。我正在关注教程http://developer.android.com/training/testing/unit-testing/local-unit-tests.html。但该教程与事实不符。
一些差异:
src
文件夹有3个文件夹:androidTest, main, test
。但教程说我应该看到2,main, test
。Android
视角,在app >> java
下,我看到2个包:com.company.myapp
对应于文件夹main
和com.company.myapp(androidTest)
对应于文件夹androidTest
。所以我找不到test
文件夹。androidTest
下创建我的Test类,那么当我运行测试时,我会遇到异常junit.framework.AssertionFailedError: No tests found in com.company.myapp.MyTest
Android
切换到Project
视角,那么我终于可以找到test
文件夹了。但是把东西放在test
文件夹中是一个死胡同。首先,文件名上有一个红色圆圈。当我右键单击以运行它时,我收到错误Test running failed: Instrumentation run failed due to 'java.lang.RuntimeException’
Empty test suite
这是我的测试
@Test
public void basicTest(){
System.out.println("Is this running?");
int a = 5;
int b = 8;
assertThat(a, equalTo(b));
}
答案 0 :(得分:0)
根据您所在的视图( Project 或 Android ),您将看到所有目录,或仅查看当前活动文件夹(源目录)。
androidTest
用于仪器测试。
正如您所做的那样,test
是放置文件的正确位置。
要在Android视图中切换Unit和Instrumentation测试,您需要选择IDE左侧的Build Variants -> Test Artifact
。在这里,您可以选择要运行的测试类型。
非活动目录中的代码不会被编入索引,因此这就是您在这些文件中看到这些错误的原因。切换测试工件将解决此问题。
另外,请记住,您只需发出
即可使用gradle运行单元测试gradlew test
命令。
快乐测试!