2014-12-13 3 views
0

Я тестирую функцию поиска в системе бронирования, которую я недавно закодировал для своего первого семестрового проекта. Моя идея протестировать это была: я позволил исходному методу поиска возвратить arraylist клиентов, найденных в поиске, получить список всех клиентов, и если в списке всех клиентов содержится архарист клиентов, найденных в поиске, я утверждают, что это работает.Проверка JUnit с использованием ContainsAll-assertation

Примечание: Я до создания конкретной записи, которую знаю, я найду (надеюсь, правильно?).

Моя проблема заключается в том, что, когда я называю -

assertTrue(allCustomers.containsAll(searchResults)); 

- Я получаю сообщение об ошибке:

junit.framework.AssertionFailedError 
at TestPackages.newBookingControllerTest.testOnEnter(newBookingControllerTest.java:98) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:86) 
at org.junit.runner.JUnitCore.run(JUnitCore.java:137) 
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:74) 
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:211) 
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134) 

Можно ли разработать почему это происходит? Я могу редактировать исходный код, если вам нужно. Благодаря!

ответ

1

AssertEquals принимает два параметра, поэтому вы можете увидеть ошибку компиляции.

Вы должны использовать

assertTrue(allCustomers.contains(searchResults));//meaning allCustomers indeed contains searchResults 

ИЛИ

assertEquals(allCustomers.contains(searchResults), true);//Meaning boolean returned by contains api is going to be compared with true 
+0

К сожалению, Алмас! Фактически я использовал assertTrue с самого начала. Я исправил это сейчас. Спасибо за ваш ответ. – Aphex

+0

Nps :) Но мой ответ помог вам понять, почему вы получаете ошибку утверждения? – SMA

+0

Я попытался использовать assertEquals, чтобы увидеть результат. Это дало мне указание на то, что мое утверждение неверно: junit.framework.AssertionFailedError: Ожидаемое: false Актуально: true Означает ли это, что мое первоначальное утверждение ложно? – Aphex

Смежные вопросы