Dirts- это статический инструмент исследования регрессионных тестов на уровне классов или метода (RTS), который осведомлен о механизмах инъекции зависимостей (DI).
| Моджо | Описание |
|---|---|
class_level_select | Выберите тесты, используя подход уровня класса |
method_level_select | Выберите тесты, используя подход на уровне метода |
| Моджо | Описание |
|---|---|
class_level_graph | Показать график, созданный подходом на уровне класса |
method_level_graph | Показать график, созданный подходом на уровне метода |
| Моджо | Описание |
|---|---|
clean | Очистить временные файлы и каталоги |
| Вариант | Описание | По умолчанию |
|---|---|---|
logging | Уровень регистрации (значения в java.util.logging.Level ) | INFO |
useSpringExtension | Анализировать зависимости, вызванные пружиной | false |
useGuiceExtension | Анализировать зависимости, вызванные Guice | false |
useCDIExtension | Анализировать зависимости, вызванные CDI | false |
| Вариант | Описание | По умолчанию |
|---|---|---|
standalone | Запустите в автономном режиме - если нет, Dirts ожидает, что другой RTS -Tool уже исключил некоторые тесты в excludesFile | false |
overrideExtension | В сочетании с standalone=false , ведущий инструмент работает автономным, но исключает только тесты, затронутые DI-связанными изменениями | false |
| Вариант | Описание | По умолчанию |
|---|---|---|
toFile | Хранить представление графа в файловой системе вместо печати в stdout | false |
outputFile | Имя файла, где график хранится, если toFile установлен на True | [class|method]_level |
Дирты могут быть использованы полностью автономными для RTS, указав standalone=true .
Дирты также могут использоваться для запуска после другого инструмента RTS и правильного только для тестов, затронутых DI-связанными изменениями. Другой инструмент необходим для исключения тестов в файле, указанном с помощью свойства Surefire excludesFile . Диртс должен работать после другого инструмента RTS, а затем прокомментирует те тесты, которые влияют на DI-связанные изменения, но были исключены ранее. Это поведение DIRTS по умолчанию.
Dirts построен для использования с Maven Surefire. Самый простой способ использовать Dirts в проекте Maven - это плагин Dirts Maven:
< plugin >
< groupId >edu.tum.sse.dirts</ groupId >
< artifactId >dirts-maven-plugin</ artifactId >
< version >${dirts.version}</ version >
< configuration >
...
</ configuration >
</ plugin >excludesFile -Должна быть установлена, в идеале для каждого подмодуля отдельно. В противном случае исключение теста не будет функционировать.useSpringExtension ) true .Несмотря на то, что DIRTS анализирует простой исходный код, в случае определенных межмодульных зависимостей, он может потребоваться компилировать перед выполнением процедуры выбора.
$ mvn compile dirts:class_level_select test Dirts создает список этих модулей в .dirts/affected_modules в папке самого внешнего модуля.
$ mvn dirts:class_level_select
$ mvn -am -pl " $( cat .dirts/affected_modules ) " test$ mvn dirts:class_level_select$ mvn compile dirts:class_level_select test$ mvn dirts:class_level_select
$ mvn -am -pl " $( cat .dirts/affected_modules ) " test Чтобы построить направления, просто беги:
$ mvn clean installЭто создаст код для всех модулей, запустит все тесты и установит банки в ваш местный репозиторий Maven.