[RESOLVIDO] Usando testNG

12 respostas
cle.darsie

Boa tarde gujeiros,

Tenho um parser XML funcionando perfeitamente já. Agora preciso usar o testNG nele pra fazer testes.
Vi vários tutoriais já, conheço um pouco, mas não estou conseguindo fazer o teste.

Vou postar o código do programa, como ele está agora.
Será que alguém consegue dar um exemplo de como usar o testNG com meu código?

Main
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
import org.xml.sax.SAXException;

public class ParserMain 
{ 
	public static void main(String[] args) throws ParserConfigurationException,
			SAXException, IOException
	{
		if (args.length < 1) {  
            System.err.println("Please, enter a parameter...");  
            System.exit(-1);  
        }  
        String url = args[0];  
        String fileName = args[1];
		new WSDLHandler(url, fileName);
	}
}
Parser
import java.io.IOException;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.apache.log4j.BasicConfigurator;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

// TBD: Javadoc
public class WSDLHandler extends DefaultHandler 
{ 
    static Logger logger = Logger.getLogger(WSDLHandler.class);
	private final String TAG = "wsdl";
	private final String url;
	
	public WSDLHandler(String url, String fileName) throws ParserConfigurationException, SAXException,
	IOException 
	{
		this.url = url;
		SAXParserFactory spf = SAXParserFactory.newInstance();
		SAXParser parser = spf.newSAXParser();
		parser.parse(fileName, this);
        logger.setLevel(Level.ALL);
	}

	public void startDocument() throws SAXException 
	{ 
		// TBD: logging
		BasicConfigurator.configure();  
   	 	logger.debug("<<< Start XML File Reading >>>\n");  
	} 
			
	public void startElement(String uri, String localName, String tag, 
			Attributes atts) throws SAXException
	{
		
		for (int i = 0; i < atts.getLength(); i++)
		{
			tag = atts.getValue(i);
			if (tag.contains(TAG))
			{
				if (atts.getQName(i).equalsIgnoreCase("wsdl"))
				{
					String[] nome = atts.getValue(i).split("/");
					if (url.endsWith("/"))
					{
						System.out.println(url + nome[nome.length - 1]);
					} else {
						System.out.println(url+"/"+nome[nome.length - 1]);	
					}
				}	
			} 
		}
	} 

	public void endDocument() throws SAXException
	{
		// TBD: logging
        logger.info("<<< End XML File Reading >>>");  
	} 
}

Valeu galerinha.
[]'s

12 Respostas

dreampeppers99

Uma boa seria se você tivesse tentando fazer os testes antes da implementação. Veria um ganho bem maior e notaria que escreveria menos códigos desnecessários!
Bem TDD te ajuda bastante a entender e se disciplinar sobre testes, bons links com exemplos pra isso são:

Esse o mais completo na minha opinião TDD da improveit.
Esse que fala mais de como você vê antes e depois.
Aqui um desafio de TDD que está no GUJ e foi proposto baseado em TDD em prática desenvolvendo um jogo.

aajjbb

dreampeppers99, o embaixador TDD do guj…
realmente seria uma otima ideia;

mas eu nao compreedi bem, você vai fazer testes unitarios, ou um teste de integração por completo ?
sinceramente, em testes unitarios, prefiro o JUnit, apesar de ter visto poquissimo sobre o testNG´.

dreampeppers99

aajjbb:
dreampeppers99, o embaixador TDD do guj…
realmente seria uma otima ideia;
mas eu nao compreedi bem, você vai fazer testes unitarios, ou um teste de integração por completo ?
sinceramente, em testes unitarios, prefiro o JUnit, apesar de ter visto poquissimo sobre o testNG´.

O que você não compreendeu bem foi o desafio ou a proposta que disse ao cle.darsie?

aajjbb

ah, nao,acho que você me compreedeu mal, eu entendi o desafio sim, na verdade, estou tentando terminalo.

so acho que a proposta ao cle.darsie ficaria um tanto confusa, ja que o projeto ja pode estar adiantado, entao recomeçar o projeto com base em TDD nao seria uma boa ideia, e que ele deveria ja deste ponto começar os testes… na verdade. nem eu sei o que eu realmente quis dizer na mensagem anterior :cry:

dreampeppers99

aajjbb:
ah, nao,acho que você me compreedeu mal, eu entendi o desafio sim, na verdade, estou tentando terminalo.

so acho que a proposta ao cle.darsie ficaria um tanto confusa, ja que o projeto ja pode estar adiantado, entao recomeçar o projeto com base em TDD nao seria uma boa ideia, e que ele deveria ja deste ponto começar os testes… na verdade. nem eu sei o que eu realmente quis dizer na mensagem anterior :cry:


Mesmo não sabendo me fez rir agora, me perco facilmente nas palavras rsrsrsr! Quando terminar o desafio poste lá! Bem lá o desafio reduziu muito o escopo para não ficar “chato e grande”, sei lá, a proposta é provar que os testes propostos lá passem no sua solução e postar a solução; daí as pessoas podem fazer as críticas ou propor melhorias e até mesmo elogiar.

cle.darsie

Bom dia galera,

Então, eu estou dando uma olhada no link q o dreampeppers99 passou e vendo como é programação orientada a testes.
Só que é o seguinte, aqui onde eu trabalho, eu recebo os códigos de programas já prontos, e implemento um código de teste pra tal programa.

Eu sou novo aqui na empresa, sou estagiário e estou aprendendo ainda como usar esses testes, aqui eles usam o JUnit e o testNG.
Pra eu aprender as coisas, me pediram pra implementar esse SAXParser ai e depois criar um teste em cima dele. Pra aprender como se faz né.

Só que tudo q eu vejo na internet é muito vago, não tem exemplos q se possa ter uma idéia de como funciona realmente.

Vcs trabalham com testes?
Bom, obrigado pela ajuda por enquanto, vou continuar estudando e tentando entender isso aqui.

Valeu []'s

dreampeppers99

cle.darsie:
Bom dia galera,
Então, eu estou dando uma olhada no link q o dreampeppers99 passou e vendo como é programação orientada a testes.
Só que é o seguinte, aqui onde eu trabalho, eu recebo os códigos de programas já prontos, e implemento um código de teste pra tal programa.

Então, O TDD propõem justamente o oposto escrever o teste antes do código.

Discordo de você, o link da empresa ImproveIt tem um exemplo e explicações BEM detalhadas, ao menos pra mim foi ótimo o material. Bem tem também um livro do Kent Beck

TDD - desenvolvimento guiado por testes http://www.relativa.com.br/livros_template.asp?Codigo_Produto=134547
Que é um livro que usa exemplo real pra mostrar como funciona na prática.

cle.darsie

Eu não tinha encontrado nada antes daquilo rsrs, por isso que disse q era muito vago.
Ontem eu estava lendo tudo no site, e hoje o site não está abrindo.

Vou tentar mais tarde denovo.

aajjbb

é. como você ainda é estagiario(eu nem isso sou ainda…) acho complicado alguma opnião sua ser realmente utilizada no projeto, mas dependendo dos objetivos ao usar xml no projeto, se vocês usarem o XStream, como eu ja usei, o projeto fica bem mais intuitivamente “Testavel”. mas claro, é so uma opnião;

dreampeppers99

Eu não tinha encontrado nada antes daquilo rsrs, por isso que disse q era muito vago.
Ontem eu estava lendo tudo no site, e hoje o site não está abrindo.

Vou tentar mais tarde denovo.
:smiley: Se possível compre o livro, a leitura é muitooooooooooooo boa! Não entedia, é tipo de desenvolvedor para desenvolvedor.

cle.darsie

Bom galera, eu ainda não consegui fazer nada que fizesse o teste no meu código.
Em lugar nenhum tem exemplos do tipo que eu preciso (extração de dados XML e testes usando testNG).

Até tentei ver isso em fórums estrangeiros, mas lá tbm está dificil.

Como uma coisa simples se torna tão complicada? rsrs (disseram pra mim que era simples).

[]'s

cle.darsie

Consegui alguma coisa já galera. Vou fechar o tópico, pq oq eu precisava, aparentemente estou conseguindo fazer.

Valeu pela ajuda e pelos links, foi de muita ajuda!

Abraços…

Criado 28 de abril de 2011
Ultima resposta 4 de mai. de 2011
Respostas 12
Participantes 3