"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como resolver dependências de teste em configurações Gradle de vários projetos?

Como resolver dependências de teste em configurações Gradle de vários projetos?

Publicado em 2024-11-08
Navegar:688

How to Resolve Test Dependencies in Multi-Project Gradle Configurations?

Resolvendo dependências de teste em configurações Gradle de vários projetos

Ao trabalhar com compilações de vários projetos no Gradle, é essencial estabelecer dependências eficazes entre o código de teste entre os projetos. Considere um cenário onde o Projeto A e o Projeto B existem, com o Projeto B contando com componentes do Projeto A.

Declaração do problema

Nesta situação, o build.gradle para o Projeto B pode ter esta aparência :

apply plugin: 'java'
dependencies {
  compile project(':ProjectA')
}

No entanto, a tarefa compileTestJava falha ao compilar o código de teste do Projeto A. Isso indica uma lacuna na configuração necessária para acessar as dependências de teste do outro projeto.

Solução

Para resolver esse problema, o build.gradle do Projeto B pode ser atualizado com uma dependência testCompile:

dependencies {
  ...
  testCompile project(':A').sourceSets.test.output
}

Esta nova dependência garante que o código de teste do Projeto B tenha acesso às classes de teste compiladas do Projeto A. Usando sourceSets.test.output, Gradle resolve o diretório de saída onde as classes de teste são colocadas durante a construção.

Esta configuração foi testada com sucesso com Gradle 1.7. Observe que para as versões 5.6 e superiores do Gradle, uma solução diferente é necessária e está documentada separadamente.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3