Я разрабатываю собственный плагин Gradle, и у меня возникают проблемы с его тестированием.
Плагин создает расширение для получения конфигурации и после оценки (project.afterEvaluate {
) создает задачи с полученной конфигурацией, эти значения @Input
в задачах.
Следуя документации https://docs.gradle.org/current/userguide/custom_plugins.html чтобы создать тест для плагина, я использую следующее, чтобы создать проект и применить плагин
@Before fun setup() {
project = ProjectBuilder.builder().build()
project.pluginManager.apply("my.plugin.name")
а затем проверьте, было ли создано расширение:
assertTrue(project.extensions.findByName("name") is MyConfigType)
и задача создана:
assertTrue(project.tasks.findByName("mytask") is MyTaskType)
У меня проблема в том, что задача создается только afterEvaluate
, поэтому этот тест не проходит. Насколько я понял, он должен быть afterEvaluate
, чтобы он мог получать значения конфигурации.
Так что единственный способ увидеть, смогу ли я на тесте заставить этот проект быть оцененным, но как?
Может быть, есть другой способ получить значения?