2017-11-22 3 views
0

아래 클래스의 단위 테스트 케이스를 작성하려고합니다. 특히 'isSumOfTaskWeightIsValid()'메소드는 아래와 같습니다. 그것에는 사적인 일원이 관련되어있다. 테스트 케이스 작성을 도와 주실 수 있습니까? 나는 그것이 'mTasks'를 반복하는 그 방법에서 'for 루프'때문에 어렵다고 느낍니다. 미리 감사드립니다.단위 테스트 개인 단위 목록 <Integer> 안드로이드 타스크

Class TaskCard { 

private List<Integer> mTasks = new ArrayList<>(); 
private boolean mIsGood; 

public TaskCard(boolean isGood) { mIsGood = isGood}  

public void setUpListofTasks(DataBaseHelper db){ 
    mTasks.addAll(db.getTasks()); 
} 

public boolean isSumOfTaskWeightIsValid(){ 
    int sum = 0; 
    for(int taskWeight : mTasks) 
    { sum += taskWeight; 
    } 
return (sum>0 || mIsGood); 
} 

} 

답변

1

당신은 당신의 mTasks 목록을 채우기 위해 @Before 주석을 사용할 수 있습니다 그리고 당신은 당신의 isSumOfTaskWeightIsValid 메서드를 호출 할 수 있습니다. 생성자에 mIsGood 매개 변수를 설정해야합니다. 다음은 샘플 테스트 클래스입니다.

private TaskCard taskCard; 

@Before 
public void initObjects() { 
    taskCard = new TaskCard(...); //True or False 
    //Initialize DataBaseHelper here 
    DataBaseHelper db = new DataBaseHelper(); 
    taskCard.setUpListofTasks(db); 
} 

@Test 
public void testIsSumOfTaskWeightIsValid() { 
    // Now your list is filled with the value you prove in @Before 
    assertTrue(taskCard.isSumOfTaskWeightIsValid());  
} 
+0

감사합니다. 이 문제를지지하는 데 정말로 도움이되었습니다. 나는 그것을 풀 수있다. 감사 –