In questo articolo vediamo come implementare la moltiplicazione tra matrici utilizzando l'overload dell'operatore * in C#, in modo da mettere a disposizione una sintassi simile a quella disponibile in Matlab. Cenni matematici La moltiplicazione tra matrici si chiama anche moltiplicazione…
blog DV
Implementare una suite di test (automatici e manuali) che copra il sistema che si sta sviluppando a vari livelli (unità, integrazione, sistema) e secondo vari criteri (copertura di casi d'uso, partizioni equivalenti, ecc.) è senz'altro un passo fondamentale per poter…
Una delle caratteristiche di un buon test di unità è che esso possa fallire per un singolo motivo. Ad esempio, un test riguardante un metodo di serializzazione di un oggetto di tipo User che verifichi sia che la mail sia…
Talvolta capita che sia molto complicato verificare automaticamente (i.e. con delle asserzioni) la correttezza dell'output di un SUT (System Under Test). Specialmente se ci si attiene alla buona pratica di effettuare una singola asserzione per ciascun test. Esempi tipici di…
Quand'ero giovane e ingenuo e dovevo testare del codice che faceva uso di liste (in senso lato: liste, array, set, stringhe di elementi separati da un certo carattere, ecc.), spesso consideravo solo i casi di liste nulle o con 0,…
Implementare una suite di test per un software è un'attività costosa. E' dunque naturale voler valutare se i test implementati valgano lo sforzo profuso, ovvero se siano efficaci nel rilevare bug e prevenire regressioni. Premesse Di seguito si cercherà di…
Un'operazione si dice idempotente quando ritorna sempre lo stesso risultato anche eseguendola più volte con gli stessi input. Ad esempio, un'operazione di cancellazione di un dato potrebbe essere resa idempotente restituendo "OK" sia se è stato cancellato il dato, sia…
Panoramica sulla dependency injection La dependency injection consiste nell'"iniettare" le dipendenze di un componente (classe, funzione o altro) anziché crearle al suo interno. Concretamente, si tratta di passare le dipendenze come parametri del costruttore della classe o del metodo/funzione che…
Panoramica sul pattern singleton Un singleton è una classe per la quale viene garantita l'esistenza di un'unica istanza. E' utile ad esempio per rappresentare configurazioni globali o in generale strutture dati che si vuole garantire che restino "allineate" in tutta…
Disclaimer Mi è capitato di notare il seguente comportamento su un progetto Web Api (si noti che l'AuthorizationFilter per le web api è diverso da quello per i controller MVC) .NET Framework 4.8. Non ho ancora verificato se lo stesso…
Ultime News
-
Implementare la moltiplicazione tra matrici in…
September 12, 2022 -
Oltre i test: design by contract
August 30, 2022 -
Quando e perché usare una singola…
August 25, 2022 -
Testare output complessi: snapshot testing
August 19, 2022 -
Perché testare le liste con più…
August 15, 2022 -
Come valutare l’efficacia dei test
August 10, 2022 -
Come testare: operazioni idempotenti
August 5, 2022 -
Scrivere codice testabile: dependency injection
August 1, 2022 -
Scrivere codice testabile: singleton
July 27, 2022 -
Uno strano comportamento degli authorization filter…
July 22, 2022