Página 1 de 1
Testes automatizados
Enviado: 08 Nov 2020 19:43
por sergiosouzalima
Olá, pessoal!
Conheci o Harbour faz algumas semanas!
Trabalhei com Clipper faz uns 30 anos e ao achar o Harbour foi como se encontrasse um velho amigo de trabalho
Como estou acostumado com linguagens onde os testes automatizados são comuns, procurei e não achei nada sobre isso em Harbour.
Então fiz um teste automatizado bem simples em termos de recursos do Harbour, mas usei as técnicas de testes automatizados, como refatoração, e TDD.
Fiz isso para começar a aprender os recursos da linguagem e saber se era possível usar essa técnica com o do Harbour.
Aproveitei e criei uma função para validação de email.
Fiz o cenário válido com 3 testes e cenário inválido com 5 testes. Todos testes passando!
Segue a imagem da function isValidEmail e o resultado dos testes.
Abraços!
O anexo harbour_testes_automatizados.png não se encontra mais disponível
Testes automatizados
Enviado: 09 Nov 2020 00:05
por susviela@bol.com.br
.
Bem interessante, bem vindo ao Harbour / xBase.
Blog xBase:
https://programandoxbase.wordpress.com/
Testes automatizados
Enviado: 09 Nov 2020 08:32
por sergiosouzalima
Obrigado pelas boas-vindas, Carlos!
Em relação a usar testes automatizados com refatoração e TDD, já vi que é possível tecnicamente em Harbour.
Só a cultura de usar essa técnica parece não estar na comunidade.
Vou usar o Harbour, aprender mais e aplicar, ou pelo menos experimentar usar técnicas que tenho trabalhado ultimamente em outras linguagens, como Ruby, Python e Java.
Vamos ver!
Abraços!!
Testes automatizados
Enviado: 09 Nov 2020 12:47
por Vlademiro
Na pasta contrib tem uma pasta chamada hbtest com exemplos de testes.
Talvez ajude.
Testes automatizados
Enviado: 09 Nov 2020 13:44
por sergiosouzalima
Vlademiro, excelente dica!!
Nesta pasta "/harbour/contrib/hbtest/", eles criaram um comando específico para testes.
Usaram o #xtranslate e criaram o comando HBTEST.
Pelo exemplo lá, ficou simples e já imagino como usar.
A noite vou modificar os testes que fiz, e usar o HBTEST, para melhorar a forma que implementei.
Assim, faço uma refatoração no próprio teste!!
Sensacional!!
Obrigado!
Testes automatizados
Enviado: 09 Nov 2020 19:04
por sergiosouzalima
Olá Vlademiro!
Eu tentei usar o arquivo test.prg da pasta informada nas mensagens acima.
Ele não acha o arquivo "libhbtest.so".
Eu procurei em todas as pastas do harbour e não achei.
Fiz um git clone de dois repositórios, e não achei dentro deles também:
-
https://github.com/Petewg/harbour-core
-
https://github.com/harbour/core
A ideia do test.prg é boa, mas não está funcionando.
Para mais detalhes estou anexando uma imagem.
Abraços!!
Testes automatizados
Enviado: 09 Nov 2020 23:03
por Vlademiro
Sergio, infelizmente meu computador queimou a fonte. Não tenho como testar. Eu sei que esse hbtest funciona porque já testei. Eu costumo compilar o Harbour dos fontes. Vc está fazendo assim também ?
Se não estiver, faça :
cd core
make
sudo make install
Use a versão oficial do Harbour. Creio que é a do segundo link que vc mostrou.
Testes automatizados
Enviado: 09 Nov 2020 23:13
por Vlademiro
Também tem esse repositório mas não testei. Ele foi atualizado até 2016. Quem sabe tem algumas ideias interessantes...
https://github.com/endersonmaia/hbunit
Testes automatizados
Enviado: 10 Nov 2020 18:43
por sergiosouzalima
Olá Vlademiro!
Espero que recupere logo a fonte!
Fiz o que vc disse: compilei o harbour-core e funcionou o HB_TEST.
Só funciona compilado. Se tentar usar com o hbrun, não funciona.
Mas eu consegui fazer funcionar o HB_TEST.
O que não gostei é que ele responde com algumas frases. Se ele respondesse
somente dizendo se o teste falhou ou não, seria suficiente. Veja a imagem.
Assim, o programar escolhe a forma que quer mostrar na tela.
Vou pensar aqui se consigo fazer algo mais nesse sentido.
O repositório do hbunit também pode ser uma opção.
Mas já me ajudou bastante.
Obrigado!
Testes automatizados
Enviado: 10 Nov 2020 19:41
por Vlademiro
Olá
Continuo sem computador.
Mas tenta compilar com -p, vai gerar um arquivo com extensão ppo. Analisa esse arquivo, talvez tenha como retornar algum valor lógico.
Boa sorte
Testes automatizados
Enviado: 11 Nov 2020 12:20
por sergiosouzalima
Olá Vlademiro!
Dentro do arquivo ppo, ele só faz isso:
Transforma isso:
HBTEST 2 + 2 IS 5
em
hbtest_Call( "2 + 2", {|| 2 + 2 }, 5 )
Vou continuar pensando em como melhorar isso.
Obrigado!
Testes automatizados
Enviado: 11 Nov 2020 17:52
por ricardosierban
Que legal Sergio, ficou muito bom.
Realmente a comunidade é excelente, mas não tem muito sobre este assunto.
Eu estou ,sem pre que possível, gravando uns vídeos no Youtube sobre Harbour, mas ainda estou aprendendo a linguagem, mas logo fico bom

Até comprei um livro de Clipper para aprofundar na linguagem.
O melhor de tudo é comprei no sebo e paguei R$ 10,00 , um livro de 1000 páginas sobre Clipper 5.0 , estou gostando muito.
Boa sorte em seus estudos.