Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Я обнаружил, что Infinitest теперь имеет плагин Eclipse, который, кажется, работает очень хорошо.
Мой опыт состоит в том, что непрерывное тестирование в IDE может стать громоздким и недовольным, таким образом, я предпочитаю использовать что-то как CruiseControl, чтобы сделать этот вид тестирования. Одним инструментом, который я нашел очень полезными, является EclEmma, который дает Вам очень быстрый благоприятный поворот покрытия для Ваших единиц, помогая Вам решить, когда Вы закончили тестировать конкретную область кода.
У меня был хороший опыт с infinitest на маленьком и простом проекте. Я не столкнулся ни с какими проблемами с ним и нахожу его быстрым и полезным.
Существует список в этой статье Ben Rady в Объектном Наставнике: Непрерывное Объясненное Тестирование. К сожалению, единственный инструмент Eclipse, кажется, CT-Eclipse, который в настоящее время не сохраняется также.
Существуют также Фейерверки для IntelliJ и Infinitest, который не является конкретным IDE, но также и имеет некоторую интеграцию IntelliJ.
Infinitest решает, какие тесты он хочет запустить. Часто запускаются не те. Зеленая полоса иногда хороша, иногда бессмысленна.