Clipper On Line • Ver Tópico - Testes automatizados

Testes automatizados

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Testes automatizados

Mensagempor sergiosouzalima » 08 Nov 2020 19:43

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. :-D

Abraços!

O anexo harbour_testes_automatizados.png não está disponível
Anexos
harbour_testes_automatizados.png
function feita usando TDD
sergiosouzalima
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 26 Out 2020 11:25
Cidade/Estado: São Paulo / SP
Curtiu: 1 vez
Mens.Curtidas: 4 vezes

Testes automatizados

Mensagempor susviela@bol.com.br » 09 Nov 2020 00:05

.

Bem interessante, bem vindo ao Harbour / xBase.

Blog xBase: https://programandoxbase.wordpress.com/
.
.
"E quando você perder o controle, colherá o que plantou."
=========================================
Carlos Alberto Nunes #Susviela
Site: https://www.PowerInformatica.com.br
=========================================
Blog xBase: https://programandoxbase.wordpress.com/
Blog TI: https://susviela.wordpress.com

( #ProgramandoxBase #AllxBase )
Avatar de usuário

susviela@bol.com.br
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 236
Data de registro: 30 Jun 2017 11:17
Cidade/Estado: São José / SC
Curtiu: 153 vezes
Mens.Curtidas: 24 vezes

Testes automatizados

Mensagempor sergiosouzalima » 09 Nov 2020 08:32

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!!
sergiosouzalima
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 26 Out 2020 11:25
Cidade/Estado: São Paulo / SP
Curtiu: 1 vez
Mens.Curtidas: 4 vezes

Testes automatizados

Mensagempor Vlademiro » 09 Nov 2020 12:47

Na pasta contrib tem uma pasta chamada hbtest com exemplos de testes.

Talvez ajude.
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

Testes automatizados

Mensagempor sergiosouzalima » 09 Nov 2020 13:44

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!! :-D

Sensacional!! ;-)

Obrigado!
sergiosouzalima
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 26 Out 2020 11:25
Cidade/Estado: São Paulo / SP
Curtiu: 1 vez
Mens.Curtidas: 4 vezes

Testes automatizados

Mensagempor sergiosouzalima » 09 Nov 2020 19:04

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!!
Anexos
libhbtest-so.png
sergiosouzalima
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 26 Out 2020 11:25
Cidade/Estado: São Paulo / SP
Curtiu: 1 vez
Mens.Curtidas: 4 vezes

Testes automatizados

Mensagempor Vlademiro » 09 Nov 2020 23:03

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.
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

Testes automatizados

Mensagempor Vlademiro » 09 Nov 2020 23:13

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
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

Testes automatizados

Mensagempor sergiosouzalima » 10 Nov 2020 18:43

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!
Anexos
respostas_do_hbtest.png
sergiosouzalima
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 26 Out 2020 11:25
Cidade/Estado: São Paulo / SP
Curtiu: 1 vez
Mens.Curtidas: 4 vezes

Testes automatizados

Mensagempor Vlademiro » 10 Nov 2020 19:41

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
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

Testes automatizados

Mensagempor sergiosouzalima » 11 Nov 2020 12:20

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!
sergiosouzalima
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 48
Data de registro: 26 Out 2020 11:25
Cidade/Estado: São Paulo / SP
Curtiu: 1 vez
Mens.Curtidas: 4 vezes

Testes automatizados

Mensagempor ricardosierban » 11 Nov 2020 17:52

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.
Avatar de usuário

ricardosierban
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 57
Data de registro: 12 Out 2020 21:08
Cidade/Estado: São Bernardo do Campo/SP
Curtiu: 23 vezes
Mens.Curtidas: 12 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: adzdoni e 9 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro