Estou iniciando o programa de ciência da computação na minha faculdade e estou tendo alguns problemas com o IntelliJ. Quando tento executar testes de unidade, recebo a mensagem
Process finished with exit code 1
Class not found: "edu.macalester.comp124.hw0.AreaTest"Empty test suite.
Também vejo uma mensagem intitulada "Nenhum teste foi encontrado" no lado esquerdo da minha tela. Meu código de teste está aqui:
package edu.macalester.comp124.hw0;
import org.junit.Test;
import static org.junit.Assert.*;
public class AreaTest {
@Test
public void testSquare() {
assertEquals(Area.getSquareArea(3.0), 9.0, 0.001);
}
@Test
public void testCircle() {
assertEquals(Area.getCircleArea(3.0), 28.2743, 0.001);
}
}
E o código do meu projeto está aqui:
package edu.macalester.comp124.hw0;
import java.lang.Math;
public class Area {
/**
* Calculates the area of a square.
* @param sideLength The length of the side of a square
* @return The area
*/
public static double getSquareArea(double sideLength) {
// Has been replaced by correct formula
return sideLength * sideLength;
}
/**
* Calculates the area of a circle.
* @param radius The radius of the circle
* @return The area
*/
public static double getCircleArea(double radius) {
// Replaced by correct value
return radius * 2 * Math.PI;
}
}
Como posso fazer meus testes funcionarem? Estou usando a versão mais recente do IntelliJ IDEA CE.
java
unit-testing
intellij-idea
junit
arnbobo
fonte
fonte
mvn clean package
no terminal. Não sei por que o IntelliJ importou o projeto incorretamente no início.Respostas:
Teve a mesma mensagem. Eu tive que remover a configuração Executar / Depurar.
No meu caso, eu fiz o teste de unidade como um teste local antes. Depois disso, mudei meu teste para o pacote androidTest e tentei executá-lo novamente. O Android Studio se lembrou da última configuração de execução e tentou executá-la novamente como um teste de unidade local que produziu o mesmo erro.
Após remover a configuração e executar o teste novamente, ela gerou uma nova configuração e funcionou.
fonte
File > Cashes / Restart
eu fui para
e então funcionou para mim.
fonte
Eu tive o mesmo problema. Eu reconstruí o projeto e isso me ajudou.
Vá para Build -> Rebuild Project
Depois disso, se você estiver usando a ferramenta Maven, recomendo usar a opção Reimportar todos os projetos Maven
Se não ajudar, tente outras soluções possíveis:
ou:
Faça o mesmo com o diretório de teste , para: src / test / java, clique com o botão direito do mouse no diretório java e selecione a opção Marcar diretório como -> Raiz de fontes de teste
ou:
ou:
Verifique as opções:
Botão de opção Usar o caminho de saída da compilação do módulo deve ser selecionado.
O caminho de saída deve estar dentro do seu projeto. O caminho de saída do teste também deve ser um diretório dentro do seu projeto. Por exemplo, pode ser semelhante:
Caminho de saída: C: \ caminho \ para \ seu \ módulo \ seuModelo \ destino \ classes
Caminho de saída de teste: C: \ caminho \ para \ seu \ módulo \ seuModelo \ destino \ classes de teste
Excluir saída caminhos devem ser desmarcados.
fonte
Build -> Rebuild Project
) foi o que funcionou para mim. Obrigado!<project-root>/src/test/java
como raiz de teste, eBuild -> Rebuild Project
funcionou para mim. Além disso, quando as classes que contêm testes estavam no pacote com o nome do pacote começandojava.*
, recebi a exceção de segurança.Isso também pode acontecer, se sua pasta de teste tiver sido importada como um módulo separado (um pequeno quadrado é mostrado no ícone da pasta na visualização do projeto).
Remova o módulo selecionando a pasta de teste na visualização do projeto e pressione DEL.
Então comece seu teste.
Se uma caixa de diálogo pop-up aparecer com uma mensagem de erro, indicando que nenhum módulo está selecionado, especifique seu módulo raiz no menu suspenso.
fonte
Eu tive um problema semelhante depois de iniciar um novo projeto IntelliJ. Eu descobri que o "caminho de saída da compilação do módulo" para o meu módulo não estava especificado corretamente. Quando designei o caminho no "caminho de saída de compilação" do módulo para o local apropriado, o problema foi resolvido. O caminho de saída da compilação é atribuído nas configurações do projeto. Em Módulos, selecione o módulo envolvido e selecione a guia Caminhos ...
Guia Caminhos nas configurações do projeto | Caixa de diálogo Módulos
... Enviei a saída do compilador para uma pasta chamada "output" que está presente na pasta Project do pai.
fonte
No meu caso, eu tinha tudo o mais no lugar certo, mas estava trabalhando em uma biblioteca java com o kotlin . Esqueci de aplicar o plugin:
E agora está funcionando como esperado agora.
fonte
Então, meu problema aqui foi com nomes de pastas. Eu chamei minha pasta de código de Classes 2016/2017, da qual o IntelliJ não gostou. Simplesmente remova a barra (ou outro personagem ofensivo no caminho), importe novamente o projeto e você estará pronto!
fonte
No Android Studio 3.0 +, algumas vezes os testes de interface do usuário são interpretados como testes de unidade e não solicitam a seleção de implantação de destino. Você pode ir para Editar configuração e marcá-lo como um teste de integração e ele começará a funcionar
fonte
Eu tive o mesmo problema e a reconstrução / invalidação do cache etc. não funcionou. Parece que isso é apenas um bug no Android Studio ...
Uma solução temporária é apenas executar seus testes de unidade na linha de comando com:
Consulte: https://developer.android.com/studio/test/command-line.html
fonte
Se o projeto tiver um problema de compilação, os testes poderão não ser executados. Então, primeiro crie o projeto como Build -> Build Project. Após a compilação bem-sucedida, execute novamente o teste.
Se nada der certo, basta fechar a janela do projeto, excluir o projeto e reimportá-lo como projeto Gradle / Maven, que definirá tudo para você, substituindo os arquivos criados pelo IntelliJ existentes. Isso removerá o cache inválido criado.
Você também pode apenas invalidar o cache.
File -> Invalidate Caches/Restart
fonte
Eu tive a mesma pergunta ao importar alguns
jar
do Maven e, subsequentemente, causar oempty-test-suite
erro.No meu caso, foi porque o maven redefiniu os arquivos do módulo. Que eu resolvi limpando minha configuração padrão:
fonte
Reimportar projeto ou módulo pode resolver o problema. Eu fiz esse problema renomeando o nome do pacote ao desenvolver. Mas o caminho para fora e caminho de saída de teste é o caminho antigo. Portanto, a intellij não consegue encontrar a classe do caminho antigo. Portanto, a maneira mais fácil é corrigir o caminho de saída e o caminho de saída do teste.
fonte
Eu tive o mesmo problema (Android Studio 3.2 Canary 4) e tentei a maioria das sugestões descritas em outras respostas - sem sucesso. Observe que isso aconteceu depois que mudei o arquivo de
test
para aandroidTest
pasta. Ele ainda era mostrado nas configurações de execução como teste em vez de teste instrumentado.Finalmente, acabei criando um novo arquivo:
fonte
Curiosamente, já enfrentei esse problema muitas vezes devido a diferentes razões. Por exemplo, invalidar o cache e reiniciar também ajudou.
Por último, eu o corrigi corrigindo meu caminho de saída em Arquivo -> Estrutura do projeto -> Projeto -> Saída do compilador de projeto para: absolute_path_of_package / out
por exemplo: / Usuários / random-guy / myWorkspace / src / DummyProject / out
fonte
Isso também acontecerá quando seu módulo e / ou projeto-jdk não estiver configurado corretamente.
fonte
A exclusão
.idea
e a reimportação do projeto SBT resolveram esse problema para mim.fonte
No meu caso, o IntelliJ não compilou as fontes de teste por um motivo estranho. Simplesmente modifiquei a configuração da compilação e adicionei o objetivo do maven
clean test-compile
naBefore launch
seçãofonte
No meu caso, houve um problema com o nome do teste :).
Se o nome fosse:
dummyNameTest
então não obtenha testes onde for encontrado, mas no caso detestDummyName
tudo estar okfonte
Eu tive o mesmo problema. No meu caso, tive algumas classes de teste em um pacote / pasta fora da pasta principal. Mas quando eu verifiquei a configuração Run, ele estava sempre tentando procurar classes dentro da pasta principal (e não meus pacotes fora do main). Portanto, se esse for o caso, você precisará mover seus pacotes para onde a configuração de execução está apontando. Ou mude a configuração de execução para apontar para seus pacotes.
fonte
Seu teste requer um dispositivo Android (emulador ou hardware)?
Nesse caso, é chamado de "teste instrumentado" e reside em "nome do módulo / src / androidTest / java /".
Caso contrário, é chamado de "teste de unidade local" e reside em "nome do módulo / src / test / java"
https://developer.android.com/training/testing/start/index.html
Eu recebi o mesmo erro porque havia escrito um teste de unidade local, mas ele foi colocado na pasta de testes instrumentados. Mover o teste de unidade local para a pasta "src / test / java" corrigiu para mim.
fonte
Estava recebendo o mesmo erro. Meu dispositivo não estava conectado ao android studio. Quando eu me conectei ao estúdio. Funciona. Isso resolve meu problema.
fonte
Provavelmente porque a pasta não está definida como fonte de teste, o que pode ser feito em Configurações do módulo> Módulos.
fonte
Para mim, o projeto foi compilado fora do projeto. Eu apenas mudo o caminho. Para alterar o caminho (eu estou usando mac).
fonte
No meu caso, o problema foi corrigido entrando no meu
build.gradle
e alterandopara
fonte
Eu tentei todas as soluções, mas nenhuma delas ajudou. No final, eu executo o teste no modo de depuração e .... ele começou a funcionar. Talvez o cache de algum maven tenha sido limpo. É difícil dizer. Funciona. Experimentar
mvn test -X
fonte
Basta clicar com o botão direito do mouse no arquivo nas janelas Projetos e selecionar
"Execute o seu teste ".
Tudo começa bem agora, provavelmente porque a configuração de execução defeituosa está sendo reconstruída novamente.
fonte
Isso pode acontecer (pelo menos uma vez para mim;) após a instalação da nova versão do IntelliJ e os plugins do IntelliJ ainda não foram atualizados.
Pode ser necessário fazer manualmente o
Check for updates…
menu Ajuda do IntelliJ.fonte
Na estrutura do seu projeto Maven, src / main / java, clique com o botão direito do mouse no diretório java e selecione a opção Marcar diretório como -> Origens Raiz
Da mesma forma, faça o mesmo com o diretório de teste para: src / test / java, clique com o botão direito do mouse no diretório java e selecione a opção Marcar diretório como -> Test Sources Root
Trabalhou para mim :-)
fonte
siga as etapas abaixo em Intellij (com capturas de tela para melhor compreensão):
navegue para módulos e agora selecione o módulo no qual o arquivo de teste do Junit está presente e selecione o botão de opção "Usar caminho de saída de compilação do módulo".
Mencione o caminho da pasta das respectivas classes, semelhante à captura de tela anexada.
fonte
O mesmo problema aqui usando o IDEA 15.0.6, e nada ajudou, exceto quando eu renomeei o pacote em que a classe de teste estava. Depois, renomeei-o novamente para seu nome original e ainda funcionava, portanto a ação de renomeação pode ter limpado algum cache.
fonte