android 浓缩咖啡测试:空测试套件。没有找到测试
android espresso testing : empty test suite. no tests were found
我正在 运行ning intelliJ idea 14.0.2 android 开发环境 windows 并且正在尝试使用 espresso UI 测试框架来测试我的 app.However 当我按 运行 进行 android 测试配置时,我遇到以下情况:
Testing started at 12:09 PM ...
Waiting for device.
Target device: lge-nexus_5-05b1bd8af0ddba12
Uploading file
local path: C:\Users\AsiAnSeNsAtIoN\Documents\note\ECSE428\AssB_2\build\classes\main\AssB_2.apk
remote path: /data/local/tmp/com.cyc115.VectorCalculator
Installing com.cyc115.VectorCalculator
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.cyc115.VectorCalculator"
pkg: /data/local/tmp/com.cyc115.VectorCalculator
Success
Running tests
Test running startedFinish
Empty test suite.
这是屏幕截图:
我的测试 class 看起来像这样:
package com.cyc115.VectorCalculator.test;
import android.support.test.espresso.assertion.ViewAssertions;
import android.test.ActivityInstrumentationTestCase2;
import android.test.suitebuilder.annotation.LargeTest;
import android.test.suitebuilder.annotation.SmallTest;
import com.cyc115.VectorCalculator.MyActivity;
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.withText;
@LargeTest
public class MyActivityTest extends ActivityInstrumentationTestCase2<MyActivity> {
public MyActivityTest(){
super (MyActivity.class);
}
@Override
public void setUp() throws Exception {
super.setUp();
getActivity();
fail();
}
@SmallTest
public void testListGoesOverTheFold() {
onView(withText("Hello world")).check(ViewAssertions.matches(isDisplayed()));
}
}
为了以防万一,这是我的项目结构:
我的测试配置:
和我的androidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.cyc115.VectorCalculator"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="21"/>
<instrumentation
android:name="android.support.test.runner.AndroidJUnitRunner"
android:targetPackage="com.cyc115.VectorCalculator"
/>
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
<activity android:name="com.cyc115.VectorCalculator.MyActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
我找到了解决方法:使用 android-studio 基于 intelliji idea 的社区版,而不是 intelliji idea 的高级版。创建一个新项目并从那里设置浓缩咖啡。更多详细信息请参阅 sample project 中的 gradle 文件:
希望对您有所帮助。
在方法之前使用注释@Test,您已经在其中编写了所有 ESPRESSO UI 测试。这可能有效。
我正在 运行ning intelliJ idea 14.0.2 android 开发环境 windows 并且正在尝试使用 espresso UI 测试框架来测试我的 app.However 当我按 运行 进行 android 测试配置时,我遇到以下情况:
Testing started at 12:09 PM ...
Waiting for device.
Target device: lge-nexus_5-05b1bd8af0ddba12
Uploading file
local path: C:\Users\AsiAnSeNsAtIoN\Documents\note\ECSE428\AssB_2\build\classes\main\AssB_2.apk
remote path: /data/local/tmp/com.cyc115.VectorCalculator
Installing com.cyc115.VectorCalculator
DEVICE SHELL COMMAND: pm install -r "/data/local/tmp/com.cyc115.VectorCalculator"
pkg: /data/local/tmp/com.cyc115.VectorCalculator
Success
Running tests
Test running startedFinish
Empty test suite.
这是屏幕截图:
我的测试 class 看起来像这样:
package com.cyc115.VectorCalculator.test;
import android.support.test.espresso.assertion.ViewAssertions;
import android.test.ActivityInstrumentationTestCase2;
import android.test.suitebuilder.annotation.LargeTest;
import android.test.suitebuilder.annotation.SmallTest;
import com.cyc115.VectorCalculator.MyActivity;
import static android.support.test.espresso.Espresso.onView;
import static android.support.test.espresso.matcher.ViewMatchers.isDisplayed;
import static android.support.test.espresso.matcher.ViewMatchers.withText;
@LargeTest
public class MyActivityTest extends ActivityInstrumentationTestCase2<MyActivity> {
public MyActivityTest(){
super (MyActivity.class);
}
@Override
public void setUp() throws Exception {
super.setUp();
getActivity();
fail();
}
@SmallTest
public void testListGoesOverTheFold() {
onView(withText("Hello world")).check(ViewAssertions.matches(isDisplayed()));
}
}
为了以防万一,这是我的项目结构:
我的测试配置:
和我的androidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.cyc115.VectorCalculator"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="21"/>
<instrumentation
android:name="android.support.test.runner.AndroidJUnitRunner"
android:targetPackage="com.cyc115.VectorCalculator"
/>
<application android:label="@string/app_name" android:icon="@drawable/ic_launcher">
<activity android:name="com.cyc115.VectorCalculator.MyActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
</manifest>
我找到了解决方法:使用 android-studio 基于 intelliji idea 的社区版,而不是 intelliji idea 的高级版。创建一个新项目并从那里设置浓缩咖啡。更多详细信息请参阅 sample project 中的 gradle 文件:
希望对您有所帮助。
在方法之前使用注释@Test,您已经在其中编写了所有 ESPRESSO UI 测试。这可能有效。