FindBugs фильтруют файл для игнорирования тестов JUnit

Это часто задаваемые вопросы

Существует более одного способа сделать это.

Вы можете использовать составной SQL в своем сценарии с обработчиком продолжения для SQLSTATE, соответствующего ошибке, которую вы получаете, если таблица не найдена, но для этого также необходимо использовать альтернативный разделитель операторов, как показано ниже

--#SET TERMINATOR @

set current schema myschema@

BEGIN
 DECLARE CONTINUE HANDLER FOR SQLSTATE '42704'
   BEGIN end;
 EXECUTE IMMEDIATE 'DROP TABLE MYLOG';
END @

CREATE TABLE MYLOG(... )@

Вы также можете изменить логику abort-on-first-error (если вы используете + s при запуске скрипта через командную строку). Вы можете изменить параметры Db2 CLP на лету в вашем скрипте с помощью update command options using s off (чтобы продолжить при ошибке) или update command options using s on, чтобы отменить при ошибке.

16
задан Kara 2 May 2017 в 17:54
поделиться

2 ответа

FindBugs на самом деле сканирует файлы скомпилированных классов, а не sourcePath . Если вы компилируете файлы src / * и test / * в разные каталоги, вы можете просто использовать вложенный элемент .

<findbugs home="${findbugs.dir}" output="xml:withMessages" 
    outputFile="${findbugs.report.xml}" jvmargs="-Xmx256M" 
    effort="max" projectName="${ant.project.name}" 
    auxClasspathRef="findbugs.classpath" 
    sourcePath="${src.dir}">
  <class location="${src.classes.dir}"/>
</findbugs> 

Это не сработает, если src / * и test / * оба скомпилированы в один каталог. В этом случае используйте файл фильтра и исключите пакеты или имена классов, которые соответствуют тестам.

<findbugs home="${findbugs.dir}" output="xml:withMessages" 
    outputFile="${findbugs.report.xml}" jvmargs="-Xmx256M" 
    effort="max" projectName="${ant.project.name}" 
    auxClasspathRef="findbugs.classpath" 
    sourcePath="${src.dir}"
    excludefilter="exclude.xml">
  <class location="${classes.dir}"/>
</findbugs> 

где exclude.xml выглядит так:

<FindBugsFilter>
  <Match>
    <Class name="~.*Test$"/>
  </Match>
  <Match>
    <Package name="~test\..*"/>
  </Match>
</FindBugsFilter>
23
ответ дан 30 November 2019 в 22:02
поделиться

Между прочим, хорошая идея также покрывать модульные тесты с помощью FindBugs. Нет причин использовать более низкие стандарты качества при тестировании. Ошибки в тесте - это всего лишь ошибки.

Конечно, если вы запустите FindBugs в первый раз, может появиться много отчетов об ошибках, но количество ошибок со временем снизится, если вы обратите на них внимание.

-1
ответ дан 30 November 2019 в 22:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: