Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/189.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android JUnit for Fragments_Android_Junit_Android Fragments - Fatal编程技术网

Android JUnit for Fragments

Android JUnit for Fragments,android,junit,android-fragments,Android,Junit,Android Fragments,当我试图包含Fragment类时,我遇到了这个错误 绑定不匹配:类型FirstFragment不是类型ActivityInstrumentationTestCase2的绑定参数的有效替代品 我的代码如下: package com.example.firstactivity.test; import com.example.firstactivity.FirstFragment; import android.test.ActivityInstrumentationTestCase2; pu

当我试图包含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);
    }

}
package com.example.firstactivity.test;
导入com.example.firstactivity.FirstFragment;
导入android.test.ActivityInstrumentationTestCase2;
公共类TestFirstFragment扩展了ActivityInstrumentationTestCase2{
私人第一碎片;
公共TestFirstFragment(类activityClass){
超级(活动类);
//TODO自动生成的构造函数存根
}
@凌驾
受保护的void setUp()引发异常{
super.setUp();
mFragment=getActivity();
}
@凌驾
受保护的void tearDown()引发异常{
super.tearDown();
}
公共最终作废测试先决条件(){
assertNotNull(mFragment);
}
}

请提出解决此问题的方法。当处理活动时,它工作得很好。。。我已经阅读了一些SO问题,例如,但要么他们没有回答我的问题,要么我无法理解他们。

为了像使用FirstFragment一样使用ActivityInstrumentationTestCase2,需要以某种方式扩展Activity。执行此操作的片段类之一是FragmentActivity。我假设您使用的是其他片段类,这就是为什么会出现错误。

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