JSONassert, uma biblioteca para testes

Allan Handan
Quick Mobile Labs
Published in
3 min readJan 4, 2017

JSONassert é mais um recurso para ser usado em testes, ele permite que seja feita de maneira reduzida a comparação entre chaves e valores entre dois JSONObjects, além disso ele também é capaz de converter uma sequência de caracteres em um objeto JSON a fim de fazer a comparação.

Com o uso desta ferramenta, temos disponíveis dois novos métodos: JSONAssert.assertEquals(expected, data, false) e o JSONAssert.assertNotEquals(expected, data, false). Em ambos os casos, são passados como parâmetro o resultado esperado, o JSON recebido e um boolean.

O Boolean determina o quão rígido será o teste. Caso seja setado como falso, o teste analisará se todas as chaves e valores esperados estejam contidos no JSON, independentemente se este possui mais chaves e valores que o esperado. Porém, caso seja setado como true, será analisado se o objeto possui exatamente as mesmas chaves e valores esperados.

Para realizar um teste desta ferramenta siga os passos abaixo:

Caso seu NetBeans não inclua a o java-json.jar, é necessário baixar este arquivo, que pode ser encontrado no link: http://www.java2s.com/Code/Jar/j/Downloadjavajsonjar.htm .

Além disso, é necessário baixar o jsonassert.jar, que atualmente se encontra na versão 1.4.0, sendo possível baixar o arquivo no link a seguir https://github.com/skyscreamer/JSONassert/releases .

Agora vamos criar um novo projeto no NetBeans, seguindo o menu Arquivo à Novo Projeto. Na caixa de novo projeto, selecione as opções Java e Aplicação Java, como mostrado na figura a seguir.

Na próxima caixa você deve colocar o nome do seu projeto, determinar a localização do projeto e clicar em finalizar, como mostrado na figura a seguir.

Deste modo o projeto foi criado, o próximo passo é adicionar o java-json.jar e o jsonassert.jar na biblioteca do projeto. Para isto deve-se clicar com o botão direito sobre o projeto e selecionar a opção Propriedades.

Na caixa que será aberta, selecione na área de Categorias a opção Biblioteca, clique no botão Adicionar Jar/Pasta e adicione os arquivos .jar .

Agora crie uma nova classe, neste exemplo criei uma classe GerenciadorDeUsuarios. Nesta classe foi inserido um método que retorna um JSONObject, neste método são passados como parâmetro as chaves e valores deste objeto.

Para realizar o teste usando o JSONassert, crie a classe de testes clicando no menu Navegar à Ir para Teste/Classe testada e confirme. Já na classe de teste, crie um objeto do tipo GerenciadorDeUsuarios e um teste, neste teste devem ser criados 2 JSONObject, um representará o resultado obtido e será feito utilizado o método da GerenciadorDeUsuarios, o outro representará o resultado esperado e será criado adicionando as chaves e valores através do método append() pertencente a classe JSONObject.

Por fim, utilizaremos o JSONAssert.assertEquals para comparar as chaves e os valores dos dois objetos, podendo assim executar o teste e analisar o resultado.

JSONassert se mostrou uma ótima ferramenta a ser implementada nos testes, permitindo a redução e simplificação de códigos que visam comparar objetos JSON.

--

--