活动测试规则对于androidTest目录中的活动失败

时间:2016-03-03 13:16:44

标签: android android-testing

我在androidTest目录中创建了一个类似的测试

public class NoInternetFragmentTests {

@Rule
public ActivityTestRule mActivityRule = new ActivityTestRule<>(
        FragmentTestActivity.class);

@Test
public void testNoInternet() throws InterruptedException {

当我尝试运行测试时,我得到一个无法启动活动错误和“由以下原因引起:java.lang.RuntimeException:无法解析活动:Intent”

androidTest目录中有一个清单,如下所示:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.ccc"
    android:installLocation="auto">

    <application
        android:name=".application.MyApplication">
        <activity
            android:name=".util.test_activities.FragmentTestActivity"
            android:screenOrientation="portrait">
        </activity>
    </application>

</manifest>

这是在androidTest中,可以在创建的APK中看到

为什么无法启动活动的任何想法?

2 个答案:

答案 0 :(得分:0)

我想这是因为您在清单文件中缺少itent-filter。您可以在此处阅读更多内容:What are intent-filters in Android?

答案 1 :(得分:0)

我正在使用AndroidStudio3.2,这些东西对我有帮助:

1。确保已添加以下依赖项:

androidTestImplementation 'com.android.support.test:rules:1.0.2'
androidTestImplementation 'com.android.support.test:runner:1.0.2'

2。添加注释:@RunWith(AndroidJUnit4.class)

@RunWith(AndroidJUnit4.class)
public class MainActivityTest {

    @Rule
    ActivityTestRule<MainActivity> activityTestRule=new ActivityTestRule<>(MainActivity.class);

    @Before
    public void setUp() throws Exception {
    }

    @After
    public void tearDown() throws Exception {
    }
}