3

当我尝试包含 Fragment 类时出现此错误。

有界不匹配:FirstFragment 类型不是 ActivityInstrumentationTestCase2 类型的有界参数的有效替代品

我的代码如下:

package com.example.firstactivity.test;

import com.example.firstactivity.FirstFragment;

import android.test.ActivityInstrumentationTestCase2;

public class TestFirstFragment extends ActivityInstrumentationTestCase2<FirstFragment> {

    private FirstFragment mFragment;

    public TestFirstFragment(Class activityClass) {
        super(activityClass);
        // TODO Auto-generated constructor stub
    }

    @Override
    protected void setUp() throws Exception {
        super.setUp();
        mFragment = getActivity();
    }


    @Override
    protected void tearDown() throws Exception {
        super.tearDown();
    }

    public final void testPreconditions() {
        assertNotNull(mFragment);
    }

}

请提出解决此问题的方法。与活动一起工作时效果很好......我已经阅读了一些SO问题。FragmentActivity Junit 测试,但要么他们没有回答我的问题,要么我无法关注他们。

4

2 回答 2

0

我也有同样的问题。事实证明,唯一可以替代参数“T”的类应该扩展“FragmentActivity”。或者在我的情况下,在清单中声明为“main”和“launcher”的主类。

于 2014-09-16T06:44:18.060 回答
0

为了像您一样使用 ActivityInstrumentationTestCase2,FirstFragment 需要以某种方式扩展 Activity。执行此操作的片段类之一是 FragmentActivity。我假设您正在使用其他一些片段类,这就是您收到错误的原因。

于 2013-09-11T01:34:07.787 回答