내 테스트 케이스는 결과 도서 목록 기대하지만 난 것으로 나타났습니다과 동일하기 때문에예기치 않은 동작 테스트 케이스 문자열
public class CheckSortedList {
List<String> expectedList;
ModelController modelController;
IDataReader dataReader;
List<String> tempBookNames = new LinkedList<>();
public CheckSortedList() {
expectedList = new LinkedList<>();
try {
dataReader = new RawDataReader();
modelController = new ModelController(dataReader);
} catch (Exception e) {
fail(e.getMessage());
}
}
@Before
public void init() {
// sortierte Liste aus Excel
expectedList.add("Das große GU-Kochbuch Kochen für Kinder");
expectedList.add("Das Perfekte Dinner. Die besten Rezepte");
expectedList.add("Das Piratenkochbuch. Ein Spezialitätenkochbuch mit den 150 leckersten Rezepten ");
expectedList.add("Genial italienisch");
expectedList.add("Ich helf dir kochen. Das erfolgreiche Universalkochbuch mit großem Backteil");
expectedList.add("O'Reillys Kochbuch für Geeks");
expectedList.add("Schlank im Schlaf ");
expectedList.add("Schuhbecks Kochschule. Kochen lernen mit Alfons Schuhbeck ");
modelController.getSortedBooks().forEach(book -> tempBookNames.add(book.getTitle()));
}
@Test
public void test() {
tempBookNames.forEach(s -> {
System.out.println(s);
});
assertEquals(expectedList, tempBookNames);
}
}
논리적으로 모든 일이 잘 작동해야처럼 보이는 Assert.assertEqual(Object[] array)
은 더 이상 사용되지 않습니다. 내 테스트 케이스가 실패하고 이유를 알 수 없다. 이유가 무엇인지 알 수 없다.
결과는 java.lang.AssertionError : expected : < [Das große GU-Kochbuch Kochen für Kinder, Das Perfekte Dinner]입니다. Rezpte, Das Piratenkochbuch를 죽여라. Ein Spezialittenkochbuch와 150 레스터 스테이크, Genial Italienisch, I helf dir kochen. Das erfolgreiche 그레이트 Backteil, O'Reillys Kochbuch 괴짜, Schlank im Schlaf, Schuhbecks Kochschule와 함께. Kochen lernen mit Alfons Schuhbeck]>하지만 : < [Das Perfekte Dinner. Rezpte, Das Piratenkochbuch를 죽여라. Spinzialitätenkochbuch는 150 개가 넘는 레이스 닝, 그 중 GU는 Kochhen Kinder는 Kinder, Genial Italienisch, Ich는 Korchen이되었습니다. Das erfolgreiche 그레이트 Backteil, O'Reillys Kochbuch 괴짜, Schlank im Schlaf, Schuhbecks Kochschule와 함께. Alfons Schuhbeck님께 서> org.junit.Assert.fail (Assert.java:88) at org.junit.Assert.failNotEquals (Assert.java:834) at org.junit.Assert.assertEquals (Assert .java : 118) at org.junit.Assert.assertEquals (Assert.java:144) at de.optivo.buecherverwaltung.test.CheckSortedList.test (CheckSortedList.java:56) at sun.reflect.NativeMethodAccessorImpl.invoke0 org.junit에서 java.lang.reflect.Method.invoke (알 수없는 소스) 에서 sun.reflect.DelegatingMethodAccessorImpl.invoke (알 수없는 소스) 에서 sun.reflect.NativeMethodAccessorImpl.invoke (알 수없는 소스) 에서 (기본 방법) .runners.model.FrameworkMethod $ 1.runReflectiveCall (FrameworkMethod.java:50) at org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java:12) at org.junit.runners.model.FrameworkMethod.invokeExplosively (FrameworkMethod.java:47) at org.junit.internal. runners.statements.InvokeMethod.evaluate (InvokeMethod.java:17) at org.junit.internal.runners.statements.RunBefores.evaluate (RunBefores.java:26) at org.junit.runners.ParentRunner.runLeaf (ParentRunner. 자바 : org.junit.runners.BlockJUnit4ClassRunner.runChild (BlockJUnit4ClassRunner.java:78 325) ) org.junit.runners.BlockJUnit4ClassRunner.runChild (BlockJUnit4ClassRunner.java:57) 에서의 org.junit.runners.ParentRunner $ 3 .run (ParentRunner.java:290) at org.junit.runners.ParentRunner $ 1.schedule (ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren (ParentRunner.java:288) at org.junit.runners.ParentRunner.access $ 000 (ParentRunner.java:58) at org.junit.runners.ParentRunner $ 2.evaluate ParentRunner.java:268) at org.junit.runners.ParentRunner.run (ParentRunner.java:363) at org.junit.runners.Suite.runChild (Suite.java:128) at org.junit.runners. Suite.runChild (Suite.java:27) at org.junit.runners.ParentRunner $ 3.run (ParentRunner.java:290) at org.junit.runners.ParentRunner $ 1.schedule (ParentRunner.java:71) at org.junit.runners.ParentRunner.runChildren (ParentRunner.java:288) at org.junit.runners.ParentRunner.access $ 000 (ParentRunner.java:58) at org.junit.runners.ParentR unner $ 2.evaluate (ParentRunner.java:268) at org.junit.runners.ParentRunner.run (ParentRunner.java:363) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run (JUnit4TestReference.java) : 86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run org.eclipse.jdt.internal.junit.runner.RemoteTestRunner에서 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests에서 (TestExecution.java:38) (RemoteTestRunner.java:459) . org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main에서 runTests (RemoteTestRunner.java:678) org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:382)에서 (RemoteTestRunner.java:192)
the output of sysout of the retrieved list
완벽한 저녁 식사. 가장 좋은 조리법은 해적 요리 책. 150 개 맛있는 조리법 있는 전문 요리 책은 큰 GU는 온화한 이탈리아어 나는 당신을 요리 도움이됩니다 아이들을위한 요리 요리 책. 잠 Schuhbecks 요리 학교에서 괴짜 슬림 대형 턱 부분 오라일리 요리 책과 함께 성공적으로 범용 요리 책. 는 Alfons 벡과 함께 요리를 알아 '목록이 동일!
을 고려 당신이 얻을 오류가 무엇입니까? 그것은 두 개의 목록을 구별하는 방법을 알려 shoulderstand. 그것은, 당신은 당신의 디버거, 또는 간단한에서 System.out.println을 사용할 수없는 경우에도 그리고() 두 목록에 포함 알고 있습니다. –
나는 두 목록 SYSOUT 확인하는 데 사용했다. 그들은 동일합니다. 테스트 케이스가 실패하고 난 당신이 더 정확한 출력이 목록을 구별하는 방법, 오류가 무엇인지 보여주는 shouldhave 말했듯이 오류는 AssertionError를 – test11
입니다. 코드에에서 System.out.println를 추가하고, 논문 문장의 전체 출력하고, 전체 오류 메시지를 게시 할 수 있습니다. 우리는 더 출력이없고, 코드가 무엇을하는지 모른다. –