I test sono la rete di sicurezza che permette di aggiornare framework e librerie senza paura. xUnit v3 è la nuova generazione di uno dei framework di test più usati in .NET.
Un test unitario
public class ScontoTests
{
[Theory]
[InlineData(100, 0)]
[InlineData(200, 10)]
[InlineData(1000, 100)]
public void Calcola_RestituisceLoScontoAtteso(decimal totale, decimal atteso)
{
var sconto = CalcoloSconto.Per(totale);
Assert.Equal(atteso, sconto);
}
}
Novità di xUnit v3
- I progetti di test sono eseguibili e girano sulla nuova piattaforma di test di Microsoft, più leggera.
TestContext.Currentdà accesso al test in corso, compreso unCancellationTokenche si annulla se il test viene interrotto.- Test saltati in modo dinamico e un migliore supporto ai test asincroni.
Test di integrazione per le API
WebApplicationFactory avvia l'intera applicazione ASP.NET Core in memoria: le richieste attraversano middleware, routing e serializzazione veri, senza aprire porte di rete.
public class ProdottiApiTests(WebApplicationFactory<Program> factory)
: IClassFixture<WebApplicationFactory<Program>>
{
[Fact]
public async Task GetProdotti_RispondeOk()
{
var client = factory.CreateClient();
var risposta = await client.GetAsync("/api/prodotti", TestContext.Current.CancellationToken);
risposta.EnsureSuccessStatusCode();
}
}
Cosa testare
Le regole di business con test unitari veloci e numerosi; i percorsi principali delle API con test di integrazione; pochi test end-to-end per i flussi critici. Un test che fallisce a caso va sistemato subito: altrimenti nessuno si fiderà più della suite.
Commenti (0)
Nessun commento ancora.