오브젝트하는 방법 유틸리티 내가 가진 방법 :일반적으로 프리미티브를 해결하고 여기에
public static Class<?>[] getTypes(Object[] objects){
Class<?>[] types = new Class<?>[objects.length];
for (int i = 0; i < objects.length; i++) {
types[i] = objects[i].getClass();
}
return types;
}
그리고 여기 이 실패하는 테스트 케이스이다 : 나는 실현
@Test
public void getTypesTest() {
Object[] objects = {"String", new StringBuilder(), new Integer(5), 5};
Class<?>[] classes = ReflectionUtils.getTypes(objects);
assertTrue(classes[0].equals(String.class));
assertTrue(classes[1].equals(StringBuilder.class));
assertTrue(classes[2].equals(Integer.class));
assertTrue(classes[3].equals(int.class)); // Fails here
}
내가 통과 그 5
내에서 Object[]
이면 new Integer(5)
으로 표시됩니다.
예상되는 동작을 어떻게 얻을 수 있습니까?
편집
내가 기대하고 무엇 : 내 테스트에 실패 주장은 전달합니다. 이를 달성하기위한 테스트 방법은 무엇을해야합니까? :
항상 실패 테스트를
을 대체하여 테스트 통과를 할 수 있습니다 풀다)? –