Preambolo
Sono stato morso dal bug del test automatico delle unità. Sento i benefici e la fiducia in un codice base che può fornire.
Anch'io sento di avere un'intuizione ragionevole riguardo a quali parti del codice meritano di essere sottoposte a test dell'unità. Codice che ha una logica, codice che potrebbe essere disordinato (perché ha a che fare con alcuni requisiti disordinati) che sei felice di aver incapsulato, che potrebbe avere qualche strana condizione marginale.
Contesto insolito
Nel mio posto di lavoro, sfruttiamo una serie di strumenti che sono abbastanza di nicchia. Per motivi di discussione, posso certamente vedere che questi strumenti offrono funzionalità ed efficienza che li rendono indispensabili per svolgere il loro particolare lavoro.
La sfida che ho è che ho sicuramente implementato la logica in questi strumenti che il mio istinto dice "questo dovrebbe essere coperto con un test unitario".
Ho testato questi bit di codice ...
- In un modo usa e getta - prova diversi input per esercitare il codice fino a quando non funziona, questo ha il rovescio della medaglia di perdere sforzi quando si tratta di persone che mantengono il codice in futuro
- In un modo meno gettabile ma manuale: scrivere i casi di test e i passaggi per attirare il codice per produrre output; con dati di test; in modo tale che i test di espulsione di cui sopra non vengano gettati via - questo mantiene l'investimento nel tempo, ma è lento e soggetto a persone che conoscono i test e li eseguono
- In un modo un po 'più automatico - con script per eseguire il codice del codice; forse persino controllare l'output in modo graduale - è più piacevole da rieseguire, ma è lungi dall'utilizzare un framework maturo in modo coerente come quando si scrivono i test di stile xUnit
Mentre la progressione è piacevole, sento che mi manca l'esperienza xUnit di cui sono diventato fan.
Che tipo di lingue / piattaforme esattamente sto trattando qui?
-
Uno strumento ETL, simile a SSIS, chiamato Gestione dei dati RedPoint : non open source quindi descriverò, ha progetti che hanno strumenti, questi strumenti sono collegati da flussi di dati, e alcuni hanno una logica che desidero testare unitamente
-
Uno strumento di composizione, questo per chi non lo sapesse è un prodotto che prende un file di dati e genera un file di stampa. Immagina XML in, PDF out.
-
Funzioni di script DOS: prometto che questa è una vera caratteristica degli script DOS di buon livello, tutorial qui
-
(Aggiungerò questo alla lista, non strettamente su ciò di cui ho bisogno di aiuto, ma potrebbe essere più chiaro di quanto sopra se il mio set di strumenti è difficile da comprendere) Trasformazioni di COBOL, usando CopyBooks per specificare i formati degli input e output del file flat. Quando vengono compilati i risultati in un binario big-ball-of-mud anche se funzionalmente decomposto all'interno
The Actual Question
I test di stile xUnit sono fondamentalmente mirati alle lingue orientate agli oggetti?