Piszę niestandardową wtyczkę Gradle. Piszę testy dla każdej funkcji, którą chcę utworzyć w wtyczce. Używam java do napisania wtyczki.Jak przetestować AfterEvaluate podczas pisania wtyczki Gradle
Tworzę moje zadania w metodzie apply
odziedziczonej z interfejsu Plugin.
Mam wiele zależności od zadań, które są dostępne w After evaluate etapie cyklu życia projektu, ale nie wcześniej (przynajmniej nie w apply
fase) i nie mam kontroli nad sposobem, w jaki te zewnętrzne zadania są określone.
Więc określenie współzależności z tych zadań przy użyciu
project.afterEvaluate((project) -> {
customTask.dependsOn(project.getTasks().getByName("nameOfTheTask"));
});
W kodzie testowym Mam następującą konfigurację, używając JUnit i Gradle zestaw testowy:
@BeforeClass
public static void initializeProject() {
project = ProjectBuilder.builder().build();
customPlugin = new CustomPlugin();
customPlugin.apply(project);
}
mogę sprawdzić regularne (tzn. poza blokiem AfterEvaluate) w przypadkach testowych przez pobieranie moich zadań za pomocą Nie jest to jednak możliwe dla zależności zdefiniowanych dla określonego cyklu życia lub, bardziej ogólnie, dla zamknięcia.
Czy istnieje sposób sprawdzenia, czy poprawne zależności są ustawione dla określonego cyklu życia? Czy istnieje sposób na odzyskanie zarejestrowanego bloku kodu?
P.S. Mógłbym używać odlewania, refleksji, cieniowania, modyfikacji itp., Ale naprawdę chciałbym usłyszeć, czy to jest sprawdzalne, czy może w końcu podejmuję niewłaściwe podejście. Dzięki!