PERGUNTA :::::: :roll: :roll: :roll:
Tem como eu quebrar todos os processos ou ligações que estão utilizando um arquivo (File)? Algum comando, sei lá… não achei nada na API.
:?: Porque da pergunta…
:!: …Pessoal, possuo uma aplicaçãozinha aqui que utiliza arquivos ‘.properties’ para montar as consultas no banco, esse properties armazena os trechos dos selects que serão utilizados pela aplicação. Para que a aplicação possa utilizar esse arquivo properties você deve colocá-lo em uma pasta local da máquina na sua raiz, isso até agora é feito de forma manual (Ctrl + C / Ctrl + V).
Buenas, estou montando JUnits para realizar testes totalmente automatizados diretamente no servidor, estes testes serão rodados pelo programa Hudson, sem interação alguma de ninguem… (no caso o hudson apresenta um alarme caso algum junit tenha rodado com problemas ou ‘quebrado’). Então, se observarem, eu preciso colocar o arquivo ‘.properties’ automaticamente no local necessario, observando os seguintes aspectos: caso não exista a pasta eu para inserção do propertie, eu crio ela coloco o .properties lá dentro e no final do teste tenho que deletar tal pasta, deixando tudo como estava antes. Tenho que observar várias abordagens… tipo, se não existe o caminho onde deve ser colocado o arquivo ‘.properties’, se existe o caminho mas não o arquivo e se existe o caminho e o arquivo. No momento estou configurando o arquivo .properties no setUp e “desconfigurando” ele no tearDown. A principio tudo acima esta funcionando.
PORÉÉÉÉMMMMM…
Tenho problemas quando o caminho e o arquivo já existem… como tudo deve voltar ao estado que estava antes… minha metodologia utilizada foi… no metodo que configura o ‘.properties’ (no setUp eu chamo este metodo) eu crio um bkp do arquivo na pasta mesmo (utilizando um remaneTo()) e copio o arquivo ‘.properties’ que deverá ficar lá para rodar o teste. Ao final do teste (tearDown) eu chamo o metodo que “desconfigura” meu arquivo ‘.properties’ deletando o que esta sendo usado pelos testes e ‘renomendo’ (uso um metodo com FileInputStream e FileOutputStream) de volta para tudo ficar conforme o estado original.
PARA ALGUNS TESTES ESSA METODOLOGIA FUNCIONA NORMALMENTE, TIPO CONFIGURA O PROPERTIES E DESCONFIGURA… PORÉM EM OUTROS JUNITS NÃO… tipo o arquivo é properties é configurado mas na hora de desconfigura-lo não estou conseguindo deletá-lo diretamente pela aplicação, como se ela pelo teste ainda estivesse utilizando ele.
Obrigado desde já!
Rafael Moreira