행렬의 대각선 합계의 차이를 계산하는 작은 함수에 테스트 케이스 (Java, Maven, Junit, Eclipse 사용)를 작성하려고합니다.테스트 데이터를 준비하고 제공하는 방법
기능은 내가이 프로그램을 실행할 때
public class testSolutions {
Solution solution = new Solution();
Integer a[][] = { { 11, 2, 4 }, { 4, 5, 6 }, { 10, 8, -12 } };
Integer b[][] = { { 12, 22, 8 }, { 2, 16, 8 }, { 10, 5, -1 } };
@DataProvider
public Object[][] provideMatrixAndExpectedSum() {
return new Object[][] { { a, new Integer(15) } };
}
@Test
@UseDataProvider("provideMatrixAndExpectedSum")
public void test(Integer a[][], int n) {
int diagonalDifference = Solution.diagonalDifference(a, n);
assertEquals(diagonalDifference, 15);
}
}
, 난 오류 "방법 테스트는 더해야 얻을, 나는 실패 뭔가 등에 노력이 대답 https://stackoverflow.com/a/19349565/7115684에서
public static int diagonalDifference(Integer matrix[][], int n) {
int diagonalSum1 = 0;
int diagonalSum2 = 0;
int diagonalDifference = 0;
for (int i = 0; i < n; i++) {
diagonalSum1 = diagonalSum1 + matrix[i][i];
diagonalSum2 = diagonalSum2 + matrix[i][Math.abs(i - 2)];
}
diagonalDifference = Math.abs(diagonalSum1 - diagonalSum2);
return diagonalDifference;
}
}
을 테스트 할 매개 변수. " 여기
내 질문은 :
- 어떻게 이러한 상황에 대한 테스트 케이스를 작성할 수있다?
- 테스트 용 데이터를 어떻게 준비 할 수 있습니까?
- 리소스 폴더에 파일의 속성 종류와 같은 파일을 만들어 다른 기능에도 제공 할 수 있습니까?
$ 기호 란 무엇입니까? – user252514
는 $ 방법 [] 새로운 객체의 약자 정적 방법이다. 이 방식은 정적으로 피 검사 방법을 필요로하지 않고 파라미터 테스트를 제공하는 장점을 갖는다. JUnitParamsRunner 당신은 또한 당신의 빌드 경로 JUnit에에 Params 항아리를 추가해야합니다 JUnit 테스트를 매개 변수화의보다 강력한 방법 (여기에 수입없이 JUnit을 테스트 클래스의 코드는) 을 제공합니다. 나중에 자바 빌드 경로에이를 추가 할 수 있습니다. –