Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Мавен проект. Помогите решить проблему с assert.

Ann Frank Ученик (148), закрыт 9 месяцев назад
Выдает ошибку в assertTrue и assertFalse в методе PersonTest, именно подчеркивает их. подскажите кто-нибудь как это исправить...уже во всем запуталась..
Само задание звучит так:
Необходимо создать новый Maven-проект и написать тесты, которые продемонстрируют ошибки в реализации метода isTeenager().
→ Создайте новый проект в IDE или Maven. Создайте файл Person.java в поддиректории src/main/java.
→ Ваш тестовый класс (PersonTest.java) должен размещаться в директории src/test/java.
→ Тестовый метод должен вызывать метод PersonTest.isTeenager() и передавать ему аргумент — возраст:

public void названиеТеста(список аргументов) {
boolean result = Person.isTeenager(аргумент);
}
→ Проверку корректности значения вам надо реализовать с использованием метода assert().

Класс Person дан(2 фото)
Лучший ответ
Папа Высший разум (145105) 10 месяцев назад
О сообщениях об ошибке, о стек трейсе исключения мы, я так понимаю, должны гадать?
Тогда с этим - в раздел "Гадания".

Скорее всего, тупо срабатывает assertFalse в 11-й строке, т.к. метод для аргумента 9 возвращает true, и assertTrue в 23-й строке. т.к. метод для 19 возвращает false. Т.е. какая логика написана, ровно такая и выполняется.
Ann FrankУченик (148) 10 месяцев назад
извиняюсь, забыла еще одно фото добавить
Папа Высший разум (145105) Ann Frank, ну, какие ассёрты написаны, такие и срабатывают. isTeenager(9) возвращает true, значит, assertFalse кидает исключение. И по второму тесту - то же самое.
Остальные ответы
Терр Онтал Мудрец (13038) 10 месяцев назад
Ну, все вроде так, как и должно быть, разве нет? У тебя в каждом из двух тестов assert фейлится, ну и соответственно кидается эксепшн, это вроде как нормально, значит что тест не проходит, и по условию задачи тебе как раз и надо написать тест, который бы показывал, что метод написан неправильно - что твои тесты и делают
Александр Искусственный Интеллект (303799) 10 месяцев назад
что у тебя в pom файле?
АлександрИскусственный Интеллект (303799) 10 месяцев назад
если тест не прошёл на каком-то шаге, дальше ничего не будет исполнено...

имхо, тесты бестолковые...
АлександрИскусственный Интеллект (303799) 10 месяцев назад
в эклипсе можно установить плагин EclEmma, который может наглядно показать какая часть теста прошла и какая нет, и дополнительно статистика о том сколько кода покрыто твоими тестами вообще.
например, для твоего теста показало бы вот так:

и стало бы сразу понятно что первая же проверка в первом тесте провалилась...
и так далее

наверняка подобные плагины/расширения есть и для других IDE
ищи по слову coverage
Ann Frank Ученик (148) Александр, ну тут так, тоже не очень вид..
Похожие вопросы