В нашем проекте включен статический анализ, и, когда дело доходит до тестирования, мы начинаем волноваться, если мы должны проверить проверку NULL или что-то, что уже может быть проверено статическим анализом.Нужно ли проверять NULL в тестовых случаях, если включен статический анализ?
Должен ли я по-прежнему испытывать эти вещи?
E.g. Для метода:
@RegEx("bla.*bla")
public static String bar(@Nonnull Foo par1)
Если мы имеем испытание это:
assertTrue(Pattern.matches(XXX.bar(someFoo)));
Затем проверить на NPE брошенной, если нуль передается в?
EDIT: Мы используем Findbugs, но я думаю, что проблема также относится к другим инструментам статического кода analsis.
Какой статический анализатор используется? Поднимает ли оно предупреждение, если оно не может доказать, что результат удовлетворяет контракту, заданному аннотацией (это нормально, но имеет возможные ложные срабатывания) или только тогда, когда он может доказать, что результат определенно не может удовлетворить контракт (не нормально, поскольку он могут иметь ложные отрицания)? – HairyFotr
Это Findbugs. Я добавлю тег. Однако я не знаю подробностей о его мекантизме. Но я думаю, что это первый. @HairyFotr – glee8e