Tôi hiện đang cố gắng kiểm tra đơn vị recyclerview addonitemclick listner, với junit hoặc mockito. đây là mã của tôi:Làm cách nào để kiểm tra đơn vị (với JUnit hoặc mockito) recyclerview nhấp chuột vào mục
private void mypicadapter(TreeMap<Integer, List<Photos>> photosMap) {
List<PhotoListItem> mItems = new ArrayList<>();
for (Integer albumId : photosMap.keySet()) {
ListHeader header = new ListHeader();
header.setAlbumId(albumId);
mItems.add(header);
for (Photos photo : photosMap.get(albumId)) {
mItems.add(photo);
}
pAdapter = new PhotoViewerListAdapter(MainActivity.this, mItems);
mRecyclerView.setAdapter(pAdapter);
// set 5 photos per row if List item type --> header , else fill row with header.
GridLayoutManager layoutManager = new GridLayoutManager(this, 5);
layoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
@Override
public int getSpanSize(int position) {
if (mRecyclerView.getAdapter().getItemViewType(position) == PhotoListItem.HEADER_TYPE)
// return the number of columns so the group header takes a whole row
return 5;
// normal child item takes up 1 cell
return 1;
}
});
mRecyclerView.setLayoutManager(layoutManager);
mRecyclerView.setHasFixedSize(true);
mRecyclerView.addOnItemTouchListener(new PhotoItemClickListener(MainActivity.this,
new PhotoItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
if (pAdapter.getItemViewType(position) == PhotoListItem.HEADER_TYPE) return;
Photos photo = pAdapter.getItem(position);
Intent intent = new Intent(MainActivity.this, DetailViewActivity.class);
intent.putExtra(PHOTO_DETAILS, photo);
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(
MainActivity.this,
new Pair<>(view.findViewById(R.id.photoItem),
getString(R.string.transition_name_photo))
);
ActivityCompat.startActivity(MainActivity.this, intent, options.toBundle());
}
}));
}
Có cách nào tôi có thể kiểm tra đơn vị: addOnItemTouchListener hoặc OnItemClickListener/onitemclick, thử các chức năng vv Tôi khá mới để kiểm tra đơn vị và được nhìn lên trực tuyến tại một vài hướng dẫn và khá bối rối. Bất kỳ hướng dẫn từng bước cho các chức năng kiểm tra hoặc bất kỳ đề xuất sẽ giúp. Ngoài ra, bất kỳ đơn vị có thể testable kịch bản khác trong chức năng này sẽ hữu ích. Cảm ơn!
Chắc chắn tôi không giúp bạn nhưng tôi nghĩ rằng những gì bạn muốn làm không phải là bài kiểm tra đơn vị mà là bài kiểm tra giao diện người dùng nơi bạn có thể sử dụng [Espresso] (https://developer.android.com/training/testing/ui- testing/espresso-testing.html) – mt0s
@JusticeBauer hãy cố gắng đọc tất cả các bình luận với một bộ óc tích cực. Thật khó để đoán thái độ của một người nào đó từ một vài từ, và hiểu sai ý định là dễ dàng. – njzk2
@Justice Bauer thấy liên kết này http: // stackoverflow.com/questions/41033279/moving-a-recyclerview-via-touch-hoặc-gesture-recognition/41122132 # 41122132 Hãy cho tôi biết quan điểm của bạn –