이들은 지금 시험하고있는 방법입니다.JUnit 테스트 케이스에서 메소드 내의 메소드를 테스트하는 방법은 무엇입니까?
public void addGrade(String newGrade) {
if (numGrades >= grades.length) {
increaseGradesCapacity();
}
grades[numGrades] = newGrade;
numGrades++;
}
public void increaseGradesCapacity() {
String[] newGrades = new String[grades.length + 1];
for (int i = 0; i < grades.length; i++) {
newGrades[i] = grades[i];
}
grades = newGrades;
}
현재, 나는 increaseGradesCapacity() 메서드를 호출 할 필요없이 테스트 하나의 테스트 케이스가 있습니다
@Test public void addGradeTest() {
String[] myGrades1 = {"a90", "a100", "q90", "q80",
"p100", "e87.5"};
String[] myGrades2 = {"a90", "a100", "q90", "q80",
"p100", "e87.5", "q100"};
WeightedGrades2 wg = new WeightedGrades2("Aegon Targaryen", 6, myGrades1);
wg.addGrade("q100");
Assert.assertArrayEquals("Test for addGrade.",
myGrades2, wg.getGrades());
}
을하지만 난을 호출하는 테스트 케이스를 만드는 방법을 알아 내려고 노력하고있어 increaseGradesCapacity() 메소드. 지금 당장 가지고있는 것이지만 웹 -CAT 요구 사항을 만족 시키지는 못합니다. 누구든지 아이디어가 있습니까?
@Test public void addGradeTest2() {
String[] myGrades1 = {"a90", "a100", "q90", "q80",
"p100", "e87.5"};
String[] myGrades2 = {"a90", "a100", "q90", "q80",
"p100", "e87.5", null, "q100"};
WeightedGrades2 wg = new WeightedGrades2("Anakin Skywalker", 7, myGrades1);
wg.increaseGradesCapacity();
wg.addGrade("q100");
Assert.assertArrayEquals("Test for addGrade.",
myGrades2, wg.getGrades());
}
디자인 검색어 : '증가하는 그래픽 카드 용량'을 공개해야합니까? 내부 API처럼 보입니다. 그러나 addGrade를 호출하면 증가하는 용량 테스트가 오염 될 수 있습니다. 왜 증가 그리드 용량을 호출하고 배열 테스트가 더 큰지, 올바르게 내용을 유지 관리하지 않는 이유는 무엇입니까? – Ash