【发布时间】:2014-05-14 18:49:10
【问题描述】:
我有一个带有可滑动视图的 Android 选项卡布局。
文件结构如下:
- 有一个活动类:
TabMainActivity.java
- 在这个activity下,有一个fragment类:
bookLockerFragment.java
这个片段类链接到一个包含各种按钮的 XML 文件。
public class bookLockerFragment extends Fragment {
Button btnSis;
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
rootView = inflater.inflate(R.layout.fragment_booklocker, container, false);
btnSis = (Button) rootView.findViewById(R.id.btnSis);
}
.......
}
我已阅读 vogella 活动测试教程,但有关片段单元测试的信息很少。
我试图写一些代码,但卡在这一行:
transaction.add(R.layout.fragment_booklocker, fragment, "tag");
我收到以下错误:
FragmentTransaction 类型中的方法 add(int, Fragment, String) 不适用于参数 (int, booklockertest, String)
代码:
public class booklockertest extends
ActivityInstrumentationTestCase2 < TabMainActivity > {
private TabMainActivity mActivity;
Fragment fragment;
FragmentManager mFragmentManager;
public booklockertest() {
super(TabMainActivity.class);
// TODO Auto-generated constructor stub
}
protected void setUp() throws Exception {
super.setUp();
mActivity = getActivity();
}
private Fragment startFragment(booklockertest fragment) {
FragmentTransaction transaction =
mActivity.getSupportFragmentManager().beginTransaction();
transaction.add(R.layout.fragment_booklocker, fragment, "tag");
transaction.commit();
getInstrumentation().waitForIdleSync();
Fragment frag =
mActivity.getSupportFragmentManager().findFragmentByTag("tag");
return frag;
}
public void testFragment() {
booklockertest fragment = new booklockertest() {
//Override methods and add assertations here.
};
Fragment frag = startFragment(fragment);
}
}
【问题讨论】:
标签: android