Quanta logica di analisi parsing testare?

0

Ho un programma che può accettare diverse dozzine di argomenti. Mi sto chiedendo se ci sia un valore nel testare ogni possibile argomento.

(Negli esempi, non ho la sintassi esatta per pytest facilmente nella mia testa.Se lo pseudo-Python impreciso causa problemi, posso modificare qualcosa di più corretto.)

Circa la metà degli argomenti possibili sono semplicemente flag booleani, e il test sarebbe probabilmente simile a questo:

def test_foo_flag_is_set():
    args = ['foo']
    parsed_args = my_parser.parse(args)
    assert parsed_args.foo

def test_foo_flag_is_not_set_by_default():
    args = []
    parsed_args = my_parser.parse(args)
    assert not parsed_args.foo

Il test di questo fornisce alcun valore? Per quello che posso dire, in pratica sto solo andando a scoprire se faccio un refuso, che mi aspetterei di essere catturato da altri strumenti.

Qualcosa di più complicato di questo, vorrei testare, naturalmente.

    
posta JETM 30.03.2017 - 15:01
fonte

1 risposta

6

Quasi certamente si sta utilizzando una libreria standard di analisi degli argomenti per elaborare queste opzioni. Ha poco senso testare l'elaborazione in questo modo, dal momento che tutto quello che stai testando è il codice della libreria, che è improbabile che abbia errori palesi (e anche se lo fosse, non si può fare nulla al riguardo se non aspettare un versione fissa).

Ciò che dovresti fare è testare che il tuo codice, data ciascuna di queste azioni, in effetti, si comporta in modo sensibilmente diverso. In altre parole, il trigger dovrebbe specificare l'opzione, e il comportamento testato dovrebbe essere qualcosa che il tuo programma fa in modo diverso di conseguenza.

    
risposta data 30.03.2017 - 15:05
fonte

Leggi altre domande sui tag