Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Como usar aquivo de properties para os testes?

Olá, gostaria de saber se é possível e como configurar um arquivo de properties para centralizar valores para serem usados nos testes JUnit. Tentei o trecho de código abaixo, mas o arquivo não é encontrado. Obrigado pela atenção.

messages.properties
nome.propriedade=valor propriedade

@Test
public void testarUsandoProperties(){
    p.load(new FileReader(new File("messages.properties")));
    String var = p.getProperty("nome.propriedade");
    assertEquals("lala", var);
}
4 respostas

Marcio,

Pode postar o erro?

Teste jogar o arquivo .properties na pasta SRC do teu projeto.

Oi Daniel, o erro é FileNotFoundException. Amanhã quando chegar no trabalho tentarei colocar no SRC.

Realmente, ele não está encontrando o arquivo. Mas caso ainda não de certo, tente isto:

/*Leitura do arquivo properties*/
FileInputStream fis = new FileInputStream(yourPropertiesFile);
Properties props = new Properties();
try{
    props.load(fis);
    fis.close();
}catch(IOException e){
    e.printStackTrace();
}
/*Leitura das variáveis no Properties props*/
for(Enumeration elms = props.propertyNames(); elms.hasMoreElements;){
    String prop = (String)elms.nextElement();
    syso(prop + ": " + props.getProperty(prop));
    syso(elms.hasMoreElements() ? "\n" : "");
}

Referencia:Java Properties

Ao invez de usar um FileReader, utilize FileInputStream.

solução!

Opa Daniel, conseguir fazer a leitura do properties, segue abaixo como ficou o trecho do código. Obrigado pela ajuda.

        /*Leitura do arquivo properties*/
        FileInputStream fis = new FileInputStream("src\\test\\java\\ju_messages.properties");
        Properties props = new Properties();
        try{
            props.load(fis);
            fis.close();
        }catch(IOException e){
            e.printStackTrace();
        }
        /*Leitura das variáveis no Properties props*/
        for(Enumeration elms = props.propertyNames(); elms.hasMoreElements();){
            String prop = (String)elms.nextElement();
            System.out.println(prop + ": " + props.getProperty(prop));
            System.out.println(elms.hasMoreElements() ? "\n" : "");
        }