Eclipse: permitir asserções


96

Estou executando o Eclipse Galileo. Como eu habilito asserções no Eclipse?

Como sugerido por outros sites, eu tentei adicionar os argumentos: -ea. Também tentei alterar o nível de conformidade do compilador para 1.4. Nenhuma dessas sugestões funcionou.

Respostas:


163
  1. Vá para o menu Run e, em seguida, para o item de menu Run Configurations .

insira a descrição da imagem aqui

  1. No painel esquerdo , vá para Java Applicatione, em seguida, vá para Assertions.

  2. No painel direito , escolha a guia Arguments .

  3. No campo para VM arguments, digite -eapara ativar as asserções.

insira a descrição da imagem aqui

  1. Clique no botãoApply e depois .Run

Para defini-lo globalmente como padrão para tudo :

  1. Vá para o menu Window(se estiver no Windows) ou vá para o menu Eclipse(se estiver no Mac). Para Linux, pode ser algo semelhante.

  2. Vá para Preferences.

  3. Escolha Javae, em seguida, Installed JREsno painel esquerdo .

  4. Selecione seu JRE e clique no Edit...botão no painel direito .

  5. No Default VM argumentscampo, adicione -ea.


Isso não funciona para Android, aparentemente você precisa do JUnit Assert.
— Noumenon

42
Para defini-lo globalmente como o padrão para tudo, vá para Janela -> Preferências -> Java / JREs instalados. Selecione o JRE e clique em "Editar ...". No campo "Argumentos da VM padrão", adicione "-ea".
— Silveri

@nbro Eu não tenho um Assertionsitem abaixo Java Application. Talvez você quisesse dizer configuração de execução atual?
— John McClane

@JohnMcClane É possível que diferentes versões do Eclipse tenham diferentes painéis, botões e menus. Se eu adicionei especificamente essa instrução (mas foi há muito tempo), é provável que eu tenha experimentado em minha própria versão (como você também pode notar nas fotos, estou usando um mac, então é possível que as versões do Eclipse são ligeiramente diferentes em outros sistemas).
— nbro

1
@JohnMcClane Sim, acho que você está certo. É possível que fossem nomes de projetos. Em vez de ir para "Asserções", você deve ir para o nome do seu projeto (eu acho).
— nbro

36

Se você deseja resolver este problema globalmente para todos os testes JUnit, vá para Preferences > Java > JUnite no topo clique na caixa de seleção para " Adicionar 'ea' aos argumentos VM ao criar uma nova configuração de inicialização JUnit " Agora o Eclipse não irá incomodá-lo a cada novo teste que você quer correr. Para os testes existentes, você deve remover suas configurações de execução em Run Configuration > JUnit.


5
Existe alguma maneira de adicionar -ea a todas as configurações de inicialização JUnit existentes ?
— mxro

Para adicionar -ea aos testes existentes, você deve remover as configurações de execução em Run Configuration> JUnit
— Honza

11

Para fazer isso globalmente para todas as execuções Java, edite as propriedades de JREs instalados.

Por exemplo: Windows -> Preferências -> realce o JRE padrão -> clique em Editar ... -> Na caixa de entrada Argumentos da VM padrão, insira -ea -> clique no botão Concluir.

Isso funcionou no Eclipse Kepler SR2.


5

Em projetos maven , você pode executar o método principal com o classpath auto-magic por:

bash> export MAVEN_OPTS="-ea" && mvn exec:java -Dexec.mainClass="com.your.class.with.main"
cmd> set MAVEN_OPTS="-ea" && mvn exec:java -Dexec.mainClass="com.your.class.with.main"

No linux / eclipse, você pode adicionar janela de terminal com bash para um uso mais conveniente.


4

Você deseja habilitar asserções para um aplicativo que está executando no Eclipse? Normalmente, apenas adiciono -ea aos parâmetros da linha de comando no perfil "Executar como".


1
Sim, é assim que geralmente faço quando estou executando a partir da linha de comando, e é por isso que pensei que adicionar esses argumentos VM nas preferências funcionaria. Obrigado pela contribuição. Confirma que eu não estava louco por pensar que isso deveria servir ..
— bem, na verdade,
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.