2017-02-20 8 views
0

Мне нужно рефакторировать и разбить очень большой плагин, принадлежащий кому-то другому. Одна вещь, которую я абсолютно не могу сделать, это изменить существующий график задачи. Я пытаюсь добавить базовые модульные тесты прямо сейчас, что могу использовать, чтобы проверить, что я ничего не меняю, когда нарушу это. Теперь план A должен был добавить дерево задач плагина и вытащить дерево из тестов testkit, которые сравнивают деревья задач с ожидаемым. проблема одна из задач деревьев выглядит этаПодтвердить графу задач графа

:buildDocsHtml 
+--- :installBuildRequirements 
| \--- :installSetupRequirements 
|   \--- :installLinks 
|    \--- :createVirtualEnvironment 
|     \--- :pinRequirements 
\--- :installProject 
    \--- :installTestRequirements 
      \--- :installPythonRequirements 
       \--- :installBuildRequirements 
        \--- :installSetupRequirements 
         \--- :installLinks 
           \--- :createVirtualEnvironment 
            \--- :pinRequirements 

Thats будет кошмар, чтобы попытаться сравнить как строку. Есть ли более простой способ снять это?

ответ

1

Вы можете адаптировать source code for the task tree plugin производить формат, который лучше для сравниваете

+0

Я считал, что. Но проблема в том, что плагин фактически не отображает дерево. Отрисовка дерева выполняется с помощью внутреннего класса градиента, с которым он не должен начинать с самого начала. И взглянуть на класс, смотрит на меня, как на часть более крупной системы. Я бы предпочел держаться подальше от этого, если смогу. Но если нет другого пути, вот что я в итоге сделаю – scphantm

+0

Существует также плагин [gradle VisTEG] (https://github.com/mmalohlava/gradle-visteg). Возможно, вы можете сравнить файлы '.dot', которые он создает? –