Quali opzioni ho per usare una sveglia che faccio con Python?
Primo, e probabilmente più importante, direi che dovreste scrivere test unitari per il programma. Scrivere test unitari è un ottimo modo per assicurarsi che il vostro codice sia progettato in modo logico e testabile. Con i vostri test unitari, sarete in grado di assicurare che ciascuna delle vostre classi e metodi si comportino come volete, e sarete anche in grado di rifattorizzare il vostro codice mantenendo la vostra sanità mentale. La rassicurazione che viene dall'avere una buona copertura dei test ne vale sicuramente la pena.
Ovviamente, tutto quello che ho appena menzionato riguardava principalmente i test unitari in generale, piuttosto che le opzioni specifiche di un programma sveglia. In termini di opzioni, si potrebbe scegliere di usare una libreria di test diversa dal modulo unittest di Python. Un esempio di alternativa è nosetest, e lo riassumono abbastanza bene nella loro pagina di benvenuto:
Penso che uno sviluppatore intelligente dovrebbe conoscere doctest, unittest, pytest e nose. Poi decidere se uno di questi ha più senso per loro, o se vogliono continuare a cercare caratteristiche che si trovano solo in altri framework.
A parte la libreria di test che si usa, si ha poi naturalmente l'opzione di cosa testare effettivamente. Questa non è probabilmente un'opzione reale, perché l'obiettivo sarebbe davvero quello di testare tutto. Ma se volete qualche idea di test per questo:
- La lista degli allarmi impostati si aggiorna correttamente quando l'utente aggiunge un allarme?
- La lista degli allarmi si aggiorna correttamente quando l'utente rimuove un allarme?
- La funzione che fa scattare l'allarme si attiva quando l'ora è impostata su uno degli orari di allarme?
- L'ora si aggiorna correttamente quando l'utente la imposta? (Se è una funzione, ovviamente)
- La funzione snooze aggiunge correttamente il tempo prima che l'allarme scatti di nuovo?
(Nota: quando testate se le cose accadono quando l'utente fa qualcosa, dovreste semplicemente simulare che l'utente compia quelle azioni chiamando i metodi e aggiornando gli attributi.)
Ovviamente, per far capire che avete delle opzioni nei vostri test, potreste dire che potete sceglierne tre e scrivere test per quelle. Tuttavia, sarebbe molto meglio se andassi avanti e scrivessi test per tutto quello che puoi.
Poi potresti anche dare un'occhiata ai test di integrazione e ai test comportamentali. Ma direi che questi non dovrebbero assolutamente essere un'alternativa ai test unitari, solo un'aggiunta ad essi.
S0 dopo tutto questo, devo dire che l'unica opzione che avete veramente è quale libreria/quadro di test usare. Le altre cose che ho menzionato dovrebbero essere fatte in entrambi i modi e non dovrebbero necessariamente essere viste come opzioni.
tl;dr: Potete scegliere la vostra libreria di test. A parte questo, testate il più possibile.
Articoli simili
- Dal punto di vista elettrico, quale è più costoso, una sveglia a batteria o una sveglia a spina?
- C'è un'app per la sveglia che rileva quando ti addormenti e poi ti sveglia esattamente X ore dopo?
- Come tornare ad essere quella che ero una volta, la bambina che restava sveglia tutta la notte a leggere sotto le coperte con una torcia
- Come possiamo risolvere il problema del display del telefono che non si sveglia con le chiamate in arrivo?