Мой тест выглядитНеожиданное поведение тест сравнить списки строк
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: ожидается: < [Das große GU-Kochbuch Kochen für Kinder, Das Perfekte Dinner. Die besten Rezepte, Das Piratenkochbuch. Ein Spezialitätenkochbuch mit den 150 leckersten Rezepten, Genial italienisch, Ich helf dir kochen. Das erfolgreiche Universalkochbuch mit großem Backteil, O'Reillys Kochbuch für Geeks, Schlank im Schlaf, Schuhbecks Kochschule. Kochen lernen mit Alfons Schuhbeck]> но был: < [Das Perfekte Dinner. Die besten Rezepte, Das Piratenkochbuch. Ein Spezialitätenkochbuch mit den 150 leckersten Rezepten, Das große GU-Kochbuch Kochen für Kinder, Genial italienisch, Ich helf dir kochen. Das erfolgreiche Universalkochbuch mit großem Backteil, O'Reillys Kochbuch für Geeks, Schlank im Schlaf, Schuhbecks Kochschule. Kochen lernen mit Alfons Schuhbeck]> at org.junit.Assert.fail (Assert.java:88) at org.junit.Assert.failNotEquals (Assert.java:834) at org.junit.Assert.assertEquals (Assert .java: 118) на org.junit.Assert.assertEquals (Assert.java:144) на de.optivo.buecherverwaltung.test.CheckSortedList.test (CheckSortedList.java:56) в sun.reflect.NativeMethodAccessorImpl.invoke0 (Родной метод) на sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source) в sun.reflect.DelegatingMethodAccessorImpl.invoke (Unknown Source) в java.lang.reflect.Method.invoke (Unknown Source) в org.junit .runners.model.FrameworkMethod $ 1.runReflectiveCall (FrameworkMethod.java:50) на org.junit.internal.runners.model.ReflectiveCallable.run (ReflectiveCallable.java:12) на org.junit.runners.model.FrameworkMethod.invokeExplosively (FrameworkMethod.java:47) на 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. Java: 325) на org.junit.runners.BlockJUnit4ClassRunner.runChild (BlockJUnit4ClassRunner.java:78) в 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.оценить (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) на org.junit.runners.ParentRunner.access $ 000 (ParentRunner.java:58) на org.junit.runners.ParentR unner $ 2.evaluate (ParentRunner.java:268) на org.junit.runners.ParentRunner.run (ParentRunner.java:363) на org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run (JUnit4TestReference.java : 86) at org.eclipse.jdt.internal.junit.runner.TestExecution.run (TestExecution.java:38) на org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:459) на org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. runTests (RemoteTestRunner.java:678) на org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:382) в org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main (RemoteTestRunner.java:192)
the output of sysout of the retrieved list
идеальный ужин. Лучшие рецепты The Pirate поваренной. Специальности поваренной 150 вкусных рецептов Большой GU поваренной книги Кулинария для детей Genial итальянских Я помогу вам приготовить. Успешный Универсальный кулинарной с большой челюстью часть O'Reilly Cookbook для Geeks Слим в своем сне Schuhbecks кулинарной школы. Научитесь готовить с Альфонсом Бек `списки идентичны!
Что ошибка вы получаете? Это плечи расскажет вам, как два списка дифференцироваться. И даже если это не так, вы могли бы просто использовать отладчик, или даже просто System.out.println(), чтобы знать, что содержит два списка. –
я использовать, чтобы проверить SYSOUT обоих списков. Они идентичны. тестовый пример не удается, и ошибка AssertionError – test11
Как я уже говорил, вы shouldhave более точный выход показывает, что ошибка, как списки дифференцироваться. Добавить System.out.println в коде, и после всей продукции заявлений дипломных и полное сообщение об ошибке. У нас нет выхода, и не имеют ни малейшего представления о том, что делает ваш код. –