Android资源链接失败错误: 标签中的属性'android:name'必须是有效的Java类名称

问题描述 投票:1回答:1

好吧,我编写了一个测试代码,用于在单击按钮时检查是否打开新活动。我的代码看起来像

@Test
public void checkNewActivity() {

    onView(withId(R.id.button_open_new_activity)).perform(click());
    onView(withText("SecondActivity")).check(matches(isDisplayed()));

}

我也在清单的两个活动中都声明过。

<activity
        android:name=".SecondActivity"
        android:label="@string/title_activity_second"
        android:theme="@style/AppTheme.NoActionBar">

    </activity>
    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

但是在构建测试文件时遇到错误。错误

Android资源链接失败/Users/shihab/StudioProjects/AndroidTesting/app/build/intermediates/merged_manifests/debugAndroidTest/AndroidManifest.xml:9:错误:标记中的属性“ android:name”必须是有效的Java类名。

android testing android-espresso
1个回答
0
投票

您是否在gradle文件中添加了espresso库?

如果没有,请执行以下步骤:

1-在defaultConfig中添加AndroidJUnitRunner:

defaultConfig {
        ...
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        ...
    }

2-在依赖关系中添加特浓咖啡库:

dependencies {
    ...
    //espresso
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0'
    androidTestImplementation 'androidx.test:runner:1.1.0'
    androidTestImplementation 'androidx.test:rules:1.1.0'
    ....
}
© www.soinside.com 2019 - 2024. All rights reserved.