0
我有一個帶有可滑動視圖的Android選項卡布局。Android:如何爲Android片段執行單元測試
文件結構是如下所示:
- 有一個活動類:
TabMainActivity.java
- 在這種活動,有一個片段類:
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");
我收到以下錯誤:
The method add(int, Fragment, String) in the type FragmentTransaction is not applicable for the arguments (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);
}
}