
Test unitari & xUnit
Framework xUnit, casi di test, assertions, Moq, FluentAssertions, code coverage, principi TDD
1Che cos'è xUnit nel contesto di .NET?
Che cos'è xUnit nel contesto di .NET?
Risposta
xUnit è un framework open-source per i test unitari in .NET, ispirato a JUnit e NUnit. Utilizza attributi come [Fact] per i test semplici e [Theory] per i test parametrizzati. xUnit incoraggia buone pratiche come l'isolamento dei test (ogni test crea una nuova istanza della classe di test) ed evita lo stato condiviso tramite i tradizionali metodi Setup/Teardown.
2Qual è la differenza tra [Fact] e [Theory] in xUnit?
Qual è la differenza tra [Fact] e [Theory] in xUnit?
Risposta
[Fact] decora un test semplice che viene eseguito una volta senza parametri, mentre [Theory] decora un test parametrizzato che viene eseguito più volte con valori diversi forniti tramite [InlineData], [MemberData] o [ClassData]. Usare [Theory] evita la duplicazione del codice quando si testano più scenari simili con dati diversi.
3Come usare [InlineData] con [Theory] in xUnit?
Come usare [InlineData] con [Theory] in xUnit?
Risposta
[InlineData] fornisce i dati direttamente nell'attributo per un test [Theory], consentendo di eseguire lo stesso test con valori diversi. Ogni attributo [InlineData] rappresenta un caso di test distinto. Questo approccio è ideale per testare più scenari semplici senza creare classi di dati separate, riducendo il codice boilerplate.
Qual è il vantaggio principale di Moq nei test unitari .NET?
Come configurare un mock con Moq affinché un metodo restituisca un valore specifico?
+17 domande da colloquio
Altri argomenti di colloquio .NET
Fondamenti di C#
LINQ & Delegates
Fondamenti del linguaggio C#
Fondamenti di ASP.NET Core
Ciclo di vita delle richieste in ASP.NET Core
Configuration & Settings
Ciclo di vita dell'applicazione
Dependency Injection
Entity Framework Core
Minimal APIs
Sviluppo di Web API
Async in ASP.NET Core
Authentication & Authorization
HttpClient & Networking
Serializzazione JSON
Entity Framework Core avanzato
Funzionalità avanzate di C#
Clean Architecture
Logging, Monitoring & Observability
Test di integrazione
Docker & Containerization
Gestione dei pacchetti NuGet
Memory Management & GC
Programmazione reattiva
Async/await & Pattern
.NET Design Patterns
Ottimizzazione delle prestazioni
Sicurezza e Best Practices
SignalR e tempo reale
Architettura a Microservizi
Padroneggia .NET per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis