(单元)ArrayAdapter的testing

我在我的应用程序中广泛使用ArrayAdapter ,因为大多数活动都持有一个ListView ,我需要一些自定义的东西。

我看了一下在android开发人员文档中的testing类,但无法find一些例子或正确的testing类…

1)有什么最佳做法(单位)在Android中testingArrayAdapter

2)我可以select错误的方法(使用适配器)并以这种方式杀死可testing性吗?

Solutions Collecting From Web of "(单元)ArrayAdapter的testing"

你可以编写testing扩展AndroidTestCase它看起来像这样:

 public class ContactsAdapterTest extends AndroidTestCase { private ContactsAdapter mAdapter; private Contact mJohn; private Contact mJane; public ContactsAdapterTest() { super(); } protected void setUp() throws Exception { super.setUp(); ArrayList<Contact> data = new ArrayList<Contact>(); mJohn = new Contact("John", "+34123456789", "uri"); mJane = new Contact("Jane", "+34111222333", "uri"); data.add(mJohn); data.add(mJane); mAdapter = new ContactsAdapter(getContext(), data); } public void testGetItem() { assertEquals("John was expected.", mJohn.getName(), ((Contact) mAdapter.getItem(0)).getName()); } public void testGetItemId() { assertEquals("Wrong ID.", 0, mAdapter.getItemId(0)); } public void testGetCount() { assertEquals("Contacts amount incorrect.", 2, mAdapter.getCount()); } // I have 3 views on my adapter, name, number and photo public void testGetView() { View view = mAdapter.getView(0, null, null); TextView name = (TextView) view .findViewById(R.id.text_contact_name); TextView number = (TextView) view .findViewById(R.id.text_contact_number); ImageView photo = (ImageView) view .findViewById(R.id.image_contact_photo); //On this part you will have to test it with your own views/data assertNotNull("View is null. ", view); assertNotNull("Name TextView is null. ", name); assertNotNull("Number TextView is null. ", number); assertNotNull("Photo ImageView is null. ", photo); assertEquals("Names doesn't match.", mJohn.getName(), name.getText()); assertEquals("Numbers doesn't match.", mJohn.getNumber(), number.getText()); } } 

可能你必须用不同的参数多次testinggetView来testing所有的场景。