Que opções tenho para usar um despertador que faço com o Python?
Primeiro, e provavelmente o mais importante, eu diria que você deve escrever testes unitários para o programa. Escrever testes unitários é uma ótima maneira de garantir que seu código seja projetado de uma maneira lógica e testável. Com seus testes unitários, você será capaz de assegurar que cada uma de suas classes e métodos se comportem como você quer, e você também será capaz de refatorar seu código enquanto mantém sua sanidade. A tranquilidade que vem de ter uma boa cobertura de testes vale definitivamente a pena.
Obviamente, tudo o que acabei de mencionar foi principalmente sobre testes unitários em geral, ao invés das opções específicas de um programa de despertador. Em termos de opções, você poderia escolher usar uma biblioteca de testes diferente da biblioteca Python construída no módulo de testes unitários. Um exemplo de alternativa é o nosetest, e eles a resumem muito bem em sua página de boas vindas:
Eu acho que um desenvolvedor inteligente deve se familiarizar com doctest, unittest, pytest, e nose. Então decida se um desses faz mais sentido para eles, ou se eles querem continuar procurando por recursos encontrados apenas em outros frameworks.
Além da biblioteca de testes que você usa, você tem, é claro, a opção do que realmente testar. Esta não é, provavelmente, uma opção real, porque o objetivo seria realmente testar tudo. Mas se você quiser algumas idéias de testes para ele:
<- Faz a lista de alarmes definida corretamente quando o usuário adiciona um alarme?
- Faz a lista de alarmes corretamente atualizada quando o usuário remove um alarme?
- Faz a função que faz o alarme disparar ser acionado quando a hora é definida para uma das horas de alarme?
- A hora é atualizada corretamente quando o usuário a define? (Se isso for uma funcionalidade, claro)
- Faz a função snooze corretamente adicionar tempo antes do alarme disparar novamente?
(Nota: quando você testa se as coisas acontecem quando o usuário faz alguma coisa, você deve apenas simular o usuário tomando essas ações chamando métodos e atualizando atributos você mesmo.)
Obviamente, para fazer o argumento de que você tem opções no seu teste, você poderia dizer que você pode escolher três desses e escrever testes para esses. No entanto, será muito melhor se você apenas for em frente e escrever testes para o máximo que puder.
Então você também poderia, é claro, dar uma olhada em alguns testes de integração e testes comportamentais. Mas eu diria que estes não devem definitivamente ser uma alternativa aos testes unitários, apenas uma adição a eles.
S0 depois de tudo isso, tenho de dizer que a única opção que realmente tem é qual a biblioteca/estrutura de testes a utilizar. As outras coisas que mencionei devem ser feitas de qualquer forma e não necessariamente vistas como opções.
tl;dr: Você pode escolher a sua biblioteca de testes. Além disso, teste o máximo possível.
Artigos semelhantes
- Em termos de electricidade, que é mais cara, um despertador alimentado por bateria ou um relógio despertador de ficha?
- O que devo usar, "eu tenho", "eu tenho", ou "eu tenho"?
- Eu tenho 13 anos e tenho uma namorada e não posso sair com ela. O que é que eu faço?
- Você pode usar o aplicativo BBC Sounds como despertador de rádio? Ele tem uma função de alarme?