vendredi 15 janvier 2016

Android - Unit tests not working together?

I have two unit test that are testing two functions in a shared preferences util. Which ever test occurs second (testSaveBusinesses()), does not work. There's a NPE for UserPreferencesUtil.getBusinesses(context).size(). However, if I take out the first test, testSaveBusinesses() will pass. What gives?

public class UserPreferencesUtilTest extends ActivityTestCase {

private Context context;
private ArrayList<String> industries = null;
private ArrayList<String> businesses = null;

@Override
protected void setUp() throws Exception {
    this.context = getInstrumentation().getContext();
    industries = new ArrayList<>();

    industries.add("Airlines & Transportation");
    industries.add("Consumer Products");
    industries.add("Financial Services");

    businesses = new ArrayList<>();
    businesses.add("Strategy");
    businesses.add("Performance Improvement");
}


public void testSaveIndustries() {

    UserPreferencesUtil.saveIndustries(context, industries);
    assertEquals(3, UserPreferencesUtil.getIndustries(context).size());

}

public void testSaveBusinesses() {

    UserPreferencesUtil.saveBusinesses(context, businesses);
    assertEquals(2, UserPreferencesUtil.getBusinesses(context).size());

}

EDIT: If I combine these functions, the test will past.

Aucun commentaire:

Enregistrer un commentaire