我在androidTest文件夹中创建了一个虚拟活动,并在androidTest文件夹中的AndroidManifest文件中声明了该活动.
我的基本目的是通过使用framelayout容器将其放入虚拟活动来测试可重用片段.
AndroidManife文件夹里面的AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="com.droid.test"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk
android:minSdkVersion="18"
tools:overrideLibrary="android.support.test.uiautomator.v18" />
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.droid" />
<application>
<uses-library android:name="android.test.runner" />
<activity
android:name="com.droid.DummyActivityForTest"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
我的测试类TestWidgets.java
public class TestWidgets extends ActivityInstrumentationTestCase2<DummyActivityForTest> {
private AppCompatActivity mActivity;
public TestWidgets() {
super(DummyActivityForTest.class);
}
@Override
public void setUp() throws Exception {
super.setUp();
mActivity = getActivity();
}
@Test
public void testAddSpecializationClick() {
onView(withId(R.id.widgets_rv)).perform(
RecyclerViewActions.actionOnItemAtPosition(4, click()));
Assert.fail("Not Implemented");
}
Run Code Online (Sandbox Code Playgroud)
当我运行我的测试类时,它抛出异常, …
android unit-testing android-espresso android-instrumentation
我在Android Studio中使用gradle编写单元测试.我的测试位于:
SRC/androidTest/JAVA
这很好用.现在,在我的测试中,我想访问在以下位置定义的资源:
SRC/androidTest/RES
具体来说,我想获得src/androidTest/res/layout/mylayout.xml.问题是我的测试包的R类或任何包的问题都定义了mylayout.
我在build.gradle上做了这个并没有什么区别:
sourceSets {
androidTest.resources.srcDirs = ['src/res']
}
Run Code Online (Sandbox Code Playgroud)
如何为androidTest只提供的androidTest类提供资源?