Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Melhoria no teste assert console #91

Open
4 tasks
itepifanio opened this issue Sep 28, 2019 · 8 comments
Open
4 tasks

Melhoria no teste assert console #91

itepifanio opened this issue Sep 28, 2019 · 8 comments
Labels
enhancement New feature or request hacktoberfest Issues simples para o evento hacktoberfest

Comments

@itepifanio
Copy link
Member

itepifanio commented Sep 28, 2019

Feature

  • Tipo: (Refatoração)

Checklist:

  • Implementar feature;
  • Adicionar testes;
  • Atualizar docstring;
  • Atualizar documentação.

Para entender melhor

Os testes de print em terminal são extremamente simples, eles literalmente só verificam se algo foi impresso na tela. Para melhorar os testes que imprimem mensagens na tela deve-se realizar o assert se o que foi impresso é o que realmente queríamos.

Para modificar o assert_console que agora receberá uma mensagem todas funções de teste que utilizam o assert_console devem ter uma mensagem a ser ligada.

Exemplo

Atualmente

from odufrn_downloader import ODUFRNDownloader
ufrn_data = ODUFRNDownloader()

# Atualmente temos a seguinte função:
def assert_console(fun):
    """Recebe função que printa algo na tela e realiza assert
    que verifica se foi printado."""
    unit = unittest.TestCase()
    return unit.assertTrue(len(input_value(fun)) > 0)

# A nova função ficaria algo assim:
def assert_console(fun, str: message):
    """Recebe função que printa algo na tela e realiza assert
    que verifica se foi printado."""
    unit = unittest.TestCase()
    return unit.assertEquals(input_value(fun), message)

Participe do Hacktoberfest!

Contribua com uma issue com a label hacktoberfest e abra um pull request durante o mês de outubro para ganhar os brindes do GitHub! Para se inscrever, acesse https://hacktoberfest.digitalocean.com/register

@itepifanio itepifanio added enhancement New feature or request hacktoberfest Issues simples para o evento hacktoberfest labels Sep 28, 2019
@BrenoBaiardi
Copy link

Oi! Vou começar a examinar este para trabalhar nesses testes.
Tem alguma recomendação para capturar a o que foi printado em console ?

@BrenoBaiardi
Copy link

agora vi a estrutura, já está sendo capturado em Utils. vou examinando as estruturas utilizadas. qualquer problema eu retorno

@itepifanio
Copy link
Member Author

agora vi a estrutura, já está sendo capturado em Utils. vou examinando as estruturas utilizadas. qualquer problema eu retorno

Olá @BrenoBaiardi, exato input_value() retorna o que foi capturado na tela. Qualquer dúvida pode nos contatar.

@BrenoBaiardi
Copy link

nunca fiz um pull request pra uma issue, eu preciso fazer alguma coisa diferente?
Eu acredito que consegui fazer o suficiente, o teste que utiliza o assert console para fazer a validação dos conjuntos funciona, mas não identifiquei a diferença que impede que o assert de exception funcione.

Poderia me dizer como proceder? seria só fazer o request normalmente pra vocês poderem avaliar e me dizer qual seria o próximo passo?

@itepifanio
Copy link
Member Author

itepifanio commented Oct 2, 2019

Olá @BrenoBaiardi.

Já verificou se todos os testes estão passando? Para isso utiliza-se python -m unittest -v
Caso todos estejam passando, pode sim submeter sua contribuição pra gente avaliar.

Não existe nenhuma diferença para contribuir para uma issue, elas existem apenas para orientar os desenvolvedores nas tarefas a serem resolvidas. Geralmente eu gosto de começar o título de um pull request com "Resolve #91 - algum texto aqui", pra ficar claro que problema o PR está resolvendo.

Obs:. Utilizar # + referencia alguma issue, por isso o "Resolve #n°".

Eu só fiquei um pouco confuso nessa última sentença, poderia esclarecer?

[...] mas não identifiquei a diferença que impede que o assert de exception funcione.

@BrenoBaiardi
Copy link

Sobre a frase abaixo:

[...] mas não identifiquei a diferença que impede que o assert de exception funcione.

No código de validação de Print de Exception no Console o retorno que o programa dá e o Resultado Esperado, são exatamente iguais, não consigo identificar qual a diferença que está impedindo o último Passed

Posso reestruturar o Pull Request para o padrão correto, mas ele ainda não Resolve a issue, mas ele com certeza progride na config dos Métodos de Util. Se só for possível fazer o PR uma vez que esteja completamente resolvido, é só me avisar e eu concluo antes de subir.

Só queria saber se ta caminhando pro lado certo

@BrenoBaiardi
Copy link

Estava examinando a esteira de CI, e vi que o erro do teste ja barrou o PR, vou melhorar o Teste

@itepifanio
Copy link
Member Author

[...] não consigo identificar qual a diferença que está impedindo o último Passed

Sim, eu escrevi ele para melhorar depois, eu sabia que do jeito que estava o assert_console() não serveria para verificar exceções.

Posso reestruturar o Pull Request para o padrão correto, mas ele ainda não Resolve a issue, mas ele com certeza progride na config dos Métodos de Util. Se só for possível fazer o PR uma vez que esteja completamente resolvido, é só me avisar e eu concluo antes de subir.

A gente só aceita quando o PR foi finalizado, mas você pode sim ir commitando até finalizar e depois avisar a gente quando finalizar.

Só queria saber se ta caminhando pro lado certo

Pelo que vi do seu código até agora está ok. O método util realmente é o que imaginavamos, falta apenas estender o uso para as classes que utilizam a função.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request hacktoberfest Issues simples para o evento hacktoberfest
Projects
None yet
Development

No branches or pull requests

2 participants