Ho un progetto C # .NET open source su GitHub con copertura del codice di Appveyor CI +.
Esistono configurazioni come Release e Debug . Esistono anche piattaforme come x86 , x64 e Qualsiasi CPU .
Questo risulta come segue:
Configuration | Platform | Tests
--------------+----------+--------
Release | x86 | 100/100
Release | x64 | 100/100
Release | Any CPU | 100/100
Debug | x86 | 100/100
Debug | x64 | 100/100
Debug | Any CPU | 100/100
I test unitari dovrebbero funzionare sempre su tutte le combinazioni (sei) di queste due dimensioni quando l'applicazione è in fase di sviluppo? vale a dire. principalmente sono in corso solo gli sviluppatori e si stanno verificando molti cambiamenti.
Il mio intuito dice che solo la configurazione Debug e una piattaforma dovrebbero essere testate.
La mia vista è che la configurazione Debug fornisce più informazioni e poiché C # è un linguaggio di alto livello e funziona in VM (CLR) non è necessario testare x64 e x86 separatamente.
C'è anche una terza dimensione con la versione di .NET Framework. E in quarto luogo con il sistema operativo.
Esiste una vista sulle best practice nel campo di ciò che è o non è necessario quando si sviluppa l'applicazione?
Quando vengono spediti tutti i test vengono ovviamente eseguiti. Lo stesso vale per eventuali build notturne / settimanali / etc.